最简的Dubbo例子部署
dubbo 中包含下面4个核心组件: 生产者、消费者、注册中心、监控中心。
简单部署的模块关系
生产者、消费者
最简版本的Dubbo部署只运行Demo Provider和Demo Consumer,它们缺省配置为通过Multicast注册中心广播互相发现。
在这种情况下,建议在不同机器上运行,如果在同一机器上,需设置unicast=false:即:multicast://224.5.6.7:1234?unicast=false,否则发给消费者的单播消息可能被提供者抢占,两个消费者在同一台机器也一样,只有multicast注册中心有此问题。
监控中心
为了更好的看到相关情况,我们需要增加运行Simple Monitor监控中心,它缺省配置为通过Multicast注册中心广播发现Provider和Consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。
注册中心
Multicast注册中心不需要单独部署一套应用,注册中心这里也可以将Multicast注册中心换成Zookeeper注册中心,安装Zookeeper Registry后,修改Demo Proivder,Demo Consumer,Simple Monitor三者安装目录下的conf/dubbo.properties,将dubbo.registry.address的值改为zookeeper://127.0.0.1:2181,同理,如果换成Redis Registry,值改为redis://127.0.0.1:6379,如果换成Simple Registry,值改为dubbo://127.0.0.1:9090
注意:multicast地址不能配成127.0.0.1,也不能配成机器的IP地址,必须是D段广播地址,也就是:224.0.0.0到239.255.255.255之间的任意地址
参考: http://dubbo.io/Administrator+Guide-zh.htm
生产者的部署
生产者编译后的部署文件在 github/alibaba/dubbo/dubbo-demo/dubbo-demo-provider/target 目录下的dubbo-demo-provider-2.5.4-SNAPSHOT-assembly.tar.gz 文件。
解压缩这个文件 ,并进入这个目录
tar zxvf dubbo-demo-provider-2.5.4-SNAPSHOT.tar.gz
cd dubbo-demo-provider-2.5.4-SNAPSHOT
配置
vim conf/dubbo.properties
由于是最简方式测试,我们都放在一台机器上,
- 启动 ./bin/start.sh
- 停止 ./bin/stop.sh
- 重启 ./bin/restart.sh
- 调试 ./bin/start.sh debug
- 系统状态: ./bin/dump.sh
- 标准输出: tail -f logs/stdout.log
总控入口
./bin/server.sh start./bin/server.sh stop./bin/server.sh restart./bin/server.sh debug./bin/server.sh dump
./bin/start.sh
Starting the demo-provider ......OK!
PID: 5683
STDOUT: logs/stdout.log
消费者部署也类似。
修改注册中心地址配置
我们这里例子中,注册中心是用的multicast注册中心,相关的配置为:multicast://224.5.6.7:1234
有关广播注册中心的信息请看这篇博客: http://www.cnblogs.com/ghj1976/p/5276452.html
由于生产者、消费者、监控中心都是部署在一台机器的,我们整个广播是对应的下面这个虚拟网卡进行数据交换的(ifconfig中读取的配置信息):
vnic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:1c:42:00:00:09
inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255
media: autoselect
status: active
服务提供者配置

消费者配置

简单监控中心配置

网络监控
生产者、消费者部署在一台机器, 使用 multicast://224.5.6.7:1234?unicast=false 配置, 通过wireshark的 Loopback 监控如下图:
过滤条件 tcp.port==20880 || tcp.port == 57450

使用这两个端口是因为在dubbo的日志中,打出的就是使用的这两个端口:

Dubbo 简单监控中心
dubbo 自带的监控中心,安装方法类似于生产者的部署, 请参考: http://blog.csdn.net/liwf_/article/details/39053601
我这里安装的是自行编译的 dubbo-monitor-simple-2.5.4-SNAPSHOT

参考资料:
http://dubbo.io/Administrator+Guide-zh.htm
http://dubbo.io/Installation+Tutorial-zh.htm
http://blog.javachen.com/2014/09/24/compile-and-test-dubbo.html
最简的Dubbo例子部署的更多相关文章
- dubbo/dubbox部署资料收集
dubbo/dubbox部署资料收集 最近由于项目需要要部署bubbox,dubbo,在找资料过程中用的的一些网址如下,后来由于取消没有实际应用,以备今后再用 http://dubbo.io/Admi ...
- dubbo 安装部署
dubbo 安装部署 1 安装zookeeper 2 安装dubbo 1 下载源码 https://github.com/alibaba/dubbo 2 编译 mvn clean packa ...
- nginx+tomcat+dubbo单机部署多台dubbo应用
前面的博客已经介绍如何使用nginx+tomcat,今天做的是如何在单台服务器上如何部署多台dubbo 应用的集群. 由于在项目中遇到了这个问题,今天就把它记录下来. 1.
- dubbo项目部署遇到的问题
部署的项目结构如下: [图片] 1 Socket >>>相关的报错 检查下zookeeper的服务端cmd和客户端cmd是否起来了 2 jdbc.DataSourceProperti ...
- springboot+dubbo+tomcat部署出错问题
刚用springboot+dubbo有点不熟悉,部署的时候出现了问题 1 The APR based Apache Tomcat Native library which allows optimal ...
- zookeeper+dubbo简单部署方案
1.zookeeper服务 首先,我们需要下载:zookeeper-3.4.9 解压后,在conf文件夹中添加一个配置文件zoo.cfg,内容如下: tickTime=2000 dataDir=/Us ...
- 简单的可以跑起来的dubbo例子
原文地址:https://blog.csdn.net/jingyangV587/article/details/78901937 项目结构: maven项目,内部三个module. <?xml ...
- spring boot + dubbo 服务部署实例
项目github:https://github.com/nalidou/spring-dubbo 1. 公共组件:dubbo-component 提供了接口定义.实体类等,其他项目可以直接导入jar包 ...
- dubbo 安装部署Windows
1 安装zookeeper 2 安装dubbo 1 下载源码 https://github.com/alibaba/dubbo 2 编译 mvn clean package install -D ...
随机推荐
- mfs-用户
http://blog.csdn.net/liuyunfengheda/article/details/5260278 MFS总结 http://bbs.chinaunix.net/thread-16 ...
- python之selenium
selenium是处理异步加载的一种方法 总的来说是操作浏览器访问来获取自己想要的资料 优点是浏览器能看到的都能爬下来,简单有效,不需要深入破解网页加载形式 缺点是加载的东西太多,导致爬取速度变慢 # ...
- mysql初学
本文基于mysql5.1编写 1.创建表: ) ),age ) '); 2.删除表: drop table customer; 3.部分列插入元素: insert into customer(mid, ...
- Oracle Group by+rollup+cube 的应用
首先我们创建一个示例表: Create table test_group (v_name varchar2(4) ,v_size varchar2(4) ,v_color varchar2(4) ,n ...
- mybatis——动态sql
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. MyBatis中用于实现动态SQL的元素主要有: if choose(when,otherwise) ...
- 【web】 亿级Web系统搭建——单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架 ...
- SVN-钩子祥解
钩子脚本的具体写法就是操作系统中shell脚本程序的写法,请根据自己SVN所在的操作系统和shell程序进行相应的写作 所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的 ...
- 05文件与IO
这节主要学习了read.write.lseek.目录访问(opendir.readdir.closedir)这几个系统调用及其简单的应用. 一旦有了与一个打开文件描述相连的文件描述符,只要该文件是用O ...
- 屏幕取色工具推荐 ColorPix
很好用的一个屏幕取色工具,方便套页面时,在图片上取色. 用鼠标指到取色未知,按CTRL+C,就可复制16进制的颜色值. 下载地址:http://files.cnblogs.com/zjfree/Col ...
- php返回状态200或者300的写法
header("HTTP/1.0 200 OK"); phpinfo(); header("HTTP/1.0 300 OK"); phpinfo();
