dubbo搭建ZooKeeper 服务治理中心,Admin管理平台,Monitor监控中心

###1.ZooKeeper 服务治理中心
点我下载
下载后解压,修改 zookeeper-3.4.11/conf 文件夹里面的 zoo.cfg 文件git

  • 设置配置项 dataDir 为一个存在的以 data 结尾的目录
  • 设置 Zookeeper 的监听端口 clientPort=2181
  • 设置 Zookeeper 心跳检查间隔 tickTime = 2000
  • 设置 Follower 服务器启动时候从 Leader 同步完毕数据能忍受多少个心跳时间间隔数 initLimit=5
  • 设置运行过程当中 Leader 同步数据到 Follower 后,Follower 回复信息到 Leader 的超时时间 syncLimit=2,若是 Leader 超过 syncLimit 个 tickTime 的时间长度,尚未收到 Follower响应,那么就认为这个 Follower 已经不在线了
    双击bin 目录下面的zkServer.cmd 启动zookeeper
    这里写图片描述

如图所示则服务注册中心搭建完毕,dubbo 便可在此注册消费者与提供者(启动闪退看这里)github

###2.Admin管理平台
咱们须要到 GitHub 上下载 Dubbo 的源码,解压后在 dubbo-2.5.x 目录执行 mvn clean package -Dmaven.test.skip=true会生成以下结果:
进入 Downloads/dubbo-2.5.x/dubbo-admin/target 目录,会发现生成了 dubbo-admin-2.5.10.war。
进入 Downloads/dubbo-2.5.x/dubbo-simple/dubbo-monitor-simple/target 目录,会发现生成了 dubbo-monitor-simple-2.5.10-assembly.tar.gz。
这里咱们直接提供 dubbo-admin-2.5.10.war 点我下载
开源的 Dubbo 的服务管理控制台是阿里巴巴内部裁剪版本,开源部分主要包含:路由规则、动态配置、服务降级、访问控制、权重调整、负载均衡等管理功能。
咱们只须要拷贝到一个 Servlet 容器,本文使用 Tomcat 容器,而后拷贝 dubbo-admin-2.5.10 到 apache-tomcat-7.0.10/webapps 目录下,而后进入 dubbo-admin-2.5.10/WEB-INF 目录修改 dubbo.properties 文件:web

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

这里的 dubbo.registry.address 为 ZooKeeper 的地址。
最后在 apache-tomcat-7.0.10/bin 下执行 startup.bat 启动 Tomcat。
启动后访问 http://127.0.0.1:8080/dubbo-admin-2.5.10/ 会出现下面界面:
这里写图片描述
至此说明管理控制台搭建完毕了。
如今你就可使用管理控制台管理和查看服务信息了,查看服务消费者,查看服务提供者,查看当前都有哪些应用:
: 管理控制台不是使用 Dubbo 搭建分布式系统必须的,可是有了它咱们能够对服务进行很好的治理和监控。
###3.Monitor监控中心
Dubbo-Monitor 主要用来统计服务的调用次数和调用时间,服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心,监控中心则使用数据绘制图表来显示。
服务消费方和提供方须要显示开启 Monitor。
若是使用 Spring 配置的服务消费方和提供方,则须要在对应 XML 添加下面配置:redis

<dubbo:monitor protocol="registry"/>

其中 protocol 为“registry”,表示服务提供方和消费方从服务注册中心发现监控中心(Monitor)地址。
若是使用的 Dubbo API 方式须要首先建立一个 MonitorConfig 对象。spring

MonitorConfig monitorConfig = new MonitorConfig();
monitorConfig.setProtocol("registry");

而后调用 reference.setMonitor(monitorConfig); 设置到消费配置对象里面。
一样咱们下载dubbo源码以后解压打包,这里提供下载点我下载
解压 dubbo-monitor-simple-2.5.10-assembly.tar.gz,进入 dubbo-monitor-simple-2.5.10/conf/ 目录修改 dubbo.propertiesapache

dubbo.container=log4j,spring,registry,jetty
dubbo.application.name=simple-monitor
dubbo.application.owner=
#dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo.registry.address=redis://127.0.0.1:6379
#dubbo.registry.address=dubbo://127.0.0.1:9090
dubbo.protocol.port=7070
dubbo.jetty.port=8081
dubbo.jetty.directory=${user.home}/monitor
dubbo.charts.directory=${dubbo.jetty.directory}/charts
dubbo.statistics.directory=${user.home}/monitor/statistics
dubbo.log4j.file=logs/dubbo-monitor-simple.log
dubbo.log4j.level=WARN

其中 dubbo.registry.address=zookeeper://127.0.0.1:2181 设置注册中心地址,这里设置为 ZooKeeper 的地址。
dubbo.protocol.port=7070,是 Monitor 提供的远程服务监听端口,服务提供者和消费者会调用这个端口提供的服务,发送统计信息到 Monitor。
dubbo.charts.directory 和 dubbo.statistics.directory 为 Monitor 本地存放的监控数据文件的位置。
dubbo.jetty.port=8081,设置 Jetty 容器的监听地址,相似于 Tomcat 的8080端口,这里设置为8081。
而后进入 dubbo-monitor-simple-2.5.10/bin,执行 start.bat 启动 Monitor:
这里写图片描述
至此 Monitor 启动了,访问 http://127.0.0.1:8081/ 会出现下面界面:
这里写图片描述tomcat

而后咱们就可使用监控平台作一些事情了。好比服务查看,应用程序查看,调用状况统计
: Dubbo-Monitor 也不是使用 Dubbo 搭建分布式系统必须的组件,可是它用来统计服务的调用次调和调用时间的监控中心,这些数据有助于系统运维和调优。服务器