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://127.0.0.1:8080/ 

参考资料:

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例子部署的更多相关文章

  1. dubbo/dubbox部署资料收集

    dubbo/dubbox部署资料收集 最近由于项目需要要部署bubbox,dubbo,在找资料过程中用的的一些网址如下,后来由于取消没有实际应用,以备今后再用 http://dubbo.io/Admi ...

  2. dubbo 安装部署

    dubbo 安装部署   1 安装zookeeper 2 安装dubbo    1 下载源码 https://github.com/alibaba/dubbo 2 编译 mvn clean packa ...

  3. nginx+tomcat+dubbo单机部署多台dubbo应用

    前面的博客已经介绍如何使用nginx+tomcat,今天做的是如何在单台服务器上如何部署多台dubbo 应用的集群. 由于在项目中遇到了这个问题,今天就把它记录下来. 1.

  4. dubbo项目部署遇到的问题

    部署的项目结构如下: [图片] 1 Socket >>>相关的报错 检查下zookeeper的服务端cmd和客户端cmd是否起来了 2 jdbc.DataSourceProperti ...

  5. springboot+dubbo+tomcat部署出错问题

    刚用springboot+dubbo有点不熟悉,部署的时候出现了问题 1 The APR based Apache Tomcat Native library which allows optimal ...

  6. zookeeper+dubbo简单部署方案

    1.zookeeper服务 首先,我们需要下载:zookeeper-3.4.9 解压后,在conf文件夹中添加一个配置文件zoo.cfg,内容如下: tickTime=2000 dataDir=/Us ...

  7. 简单的可以跑起来的dubbo例子

    原文地址:https://blog.csdn.net/jingyangV587/article/details/78901937 项目结构: maven项目,内部三个module. <?xml ...

  8. spring boot + dubbo 服务部署实例

    项目github:https://github.com/nalidou/spring-dubbo 1. 公共组件:dubbo-component 提供了接口定义.实体类等,其他项目可以直接导入jar包 ...

  9. dubbo 安装部署Windows

    1 安装zookeeper 2 安装dubbo    1 下载源码 https://github.com/alibaba/dubbo 2 编译 mvn clean package install -D ...

随机推荐

  1. 【转】TYVJ 1695 计算系数(NOIP2011 TG DAY2 1)

    计算系数 题目描述 给定一个多项式(ax + by)k,请求出多项式展开后xn ym项的系数. [数据范围] 对于 30%的数据,有0≤k≤10: 对于 50%的数据,有a = 1,b = 1: 对于 ...

  2. Java C# 加密解密类库

    Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 Bouncy Castle 被设计成轻量级的,所以从 ...

  3. jsoncpp 生成 json 字符串

    Json::Value root; Json::Value arrayObj; Json::Value item; for (int i=0; i<10; i++) { item["k ...

  4. collection的框架结构

    经常会看到程序中使用了记录集,常用的有Collection.HashMap.HashSet.ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手.在这儿作了一个 ...

  5. Spring3.0.6定时任务task:scheduled

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. asp.net get App_Data 目录几种方法 path

    方法一 //ASP.NET MVC1 -> MVC3 string path = HttpContext.Current.Server.MapPath("~/App_Data/some ...

  7. (转)用Eclipse进行C++开发时Bianry not found的问题解决

    本文转载自:http://blog.csdn.net/baimafujinji/article/details/49722399 由于Visual Studio体积过于庞大,很多人选择在Eclipse ...

  8. Maven修改镜像仓库地址

    修改maven根目录下的conf文件夹中的setting.xml文件,如果你修改了默认仓库的存储位置,即.m2文件夹下没有本地仓库,但是有个setting.xml文件,那就修改这个文件就可以. 具体内 ...

  9. Jedis编程设计:连接池

        Jedis作为redis的最佳客户端,它提供了连接池的特性,"连接池"在通常情况下可以有效的提高应用的通信能力,并且这是一种良好的设计模式.Jedis的连接池设计基于apa ...

  10. 105. Construct Binary Tree from Preorder and Inorder Traversal

    Given preorder and inorder traversal of a tree, construct the binary tree. ============== 基本功: 利用前序和 ...