标题:
基于Dubbo框架构建分布式服务(9)
[打印本页]
作者:
look_w
时间:
2018-12-16 15:39
标题:
基于Dubbo框架构建分布式服务(9)
●Dubbo监控中心
Dubbo监控中心是以Dubbo服务的形式发布到注册中心,和普通的服务时一样的。例如,我这里下载了Dubbo自带的简易监控中心文件dubbo-monitor-simple-2.5.3-assembly.tar.gz,可以解压缩以后,修改配置文件~/dubbo-monitor-simple-2.5.3/conf/dubbo.properties的内容,如下所示:
[url=]
[/url]
dubbo.container=log4j,spring,registry,jettydubbo.application.name=simple-monitordubbo.application.owner=dubbo.registry.address=zookeeper://zk1:2181?backup=zk2:2181,zk3:2181dubbo.protocol.port=7070dubbo.jetty.port=8087dubbo.jetty.directory=${user.home}/monitordubbo.charts.directory=${dubbo.jetty.directory}/chartsdubbo.statistics.directory=${user.home}/monitor/statisticsdubbo.log4j.file=logs/dubbo-monitor-simple.logdubbo.log4j.level=WARN
[url=]
[/url]
然后启动简易监控中心,执行如下命令:
cd ~/dubbo-monitor-simple-2.5.3bin/start.sh
这里使用了Jetty Web容器,访问地址
http://10.10.4.130:8087/
就可以查看监控中心,Applications选项卡页面包含了服务提供方和消费方的基本信息,如图所示:
上图主要列出了所有提供方发布的服务、消费方调用、服务依赖关系等内容。
接着,查看Services选项卡页面,包含了服务提供方提供的服务列表,如图所示:
点击上图中Providers链接就能看到服务提供方的基本信息,包括服务地址等,如图所示:
点击上图中Consumers链接就能看到服务消费方的基本信息,包括服务地址等,如图所示:
由于上面是Dubbo自带的一个简易监控中心,可能所展现的内容并不能满足我们的需要,所以可以根据需要开发自己的监控中心。Dubbo也提供了监控中心的扩展接口,如果想要实现自己的监控中心,可以实现接口com.alibaba.dubbo.monitor.MonitorFactory和com.alibaba.dubbo.monitor.Monitor,其中MonitorFactory接口定义如下所示:
[url=]
[/url]
/**
* MonitorFactory. (SPI, Singleton, ThreadSafe)**
@author
william.liangf
*/
@SPI(
"dubbo"
)
public
interface
MonitorFactory {
/**
* Create monitor. *
@param
url *
@return
monitor
*/
@Adaptive(
"protocol"
) Monitor getMonitor(URL url);}
[url=]
[/url]
Monitor接口定义如下所示:
Monitor接口定义如下所示:
[url=]
[/url]
/**
* Monitor. (SPI, Prototype, ThreadSafe)**
@see
com.alibaba.dubbo.monitor.MonitorFactory#getMonitor(com.alibaba.dubbo.common.URL)*
@author
william.liangf
*/
public
interface
Monitor
extends
Node, MonitorService {}
[url=]
[/url]
具体定义内容可以查看MonitorService接口,不再累述。
总结
Dubbo还提供了其他很多高级特性,如路由规则、参数回调、服务分组、服务降级等等,而且很多特性在给出内置实现的基础上,还给出了扩展的接口,我们可以给出自定义的实现,非常方便而且强大。更多可以参考Dubbo官网用户手册和开发人员手册。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0