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

1.ZooKeeper 服务治理中心

点我下载
下载后解压,修改 zookeeper-3.4.11/conf 文件夹里面的 zoo.cfg 文件

  • 设置配置项 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 即可在此注册消费者与提供者(启动闪退看这里)

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 文件:

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 添加下面配置:

<dubbo:monitor protocol="registry"/>

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

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.properties

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/ 会出现下面界面:
这里写图片描述

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

猜你喜欢

转载自blog.csdn.net/yz357823669/article/details/80505642