dubbo新人帮助文档

Dubbo的架构中的三个角色
         消息提供者,示例工程见:dubbo-demo-provider
         消息注册中心,有四种类型:multicast、zookeeper(此处为默认的类型)、Redis、dubbo
         消息消费者,示例工程见:dubbo-demo-consumer
跟zookeeper是因为消息注册中心额默认类型为zookeeper
就是一个分布式的分布式的系统,一般传统项目可能是webserverce wsdl 接口对应接口
以服务者与消费者
流程图如下:

 Provider: 暴露服务的服务提供方。
 Consumer: 调用远程服务的服务消费方。
 Registry: 服务注册与发现的注册中心。
 Monitor: 统计服务的调用次调和调用时间的监控中心。
 Container: 服务运行容器。
(角色分明,可以根据每个节点角色的状态来确定该服务是否正常)
(以下为为见解)
远程服务调用的分布式框架 告别web service模式中的wsdl 以服务者与消费者的方式在dubbo注册
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,需要用Spring加载。
后续应用开发应该是为于Spring整合,可以在管理平台中查看到对应的消费者,服务者
相当于存在多台服务器,当一台服务器调用失败,可以选择另一台进行调用。如出现问题可以逐一排查出问题在哪?
代码编写逻辑如图:基本的提供者和消费者通过spring容器来进行相关的提供和消费的服务.首先看整个示例的项目结构如下:
此此
      我们通过Maven的方式来进行示例,其中dubbo-demo-api为提供者所定义的接口,项目结构如下:
Maven主要用于整体编译war包,通过tomcat进行部署dubbo项目控制管理凭条
 
书写interfac 为服务的一个接口DemoService:
 Dubbo-demo-provider为服务提供者的示例项目,结构如下图:
 
Dubbo-demo-consumer为服务消费者的示例项目,结构如下图:

以上是整个示例程序的整体框架.
所有的源码都可以在阿里巴巴的开源框架中获取。
下面主要描述下zookeeper的安装 首先下载zookeeper 然后修改zookeepr的配置文件,一定要记得先tomcat(maven编译的war包,主要编译的是pom.xml)再启动zookeeper,zookeeper是分布式个分布式的,开放源码的分布式应用程序协调服务。在tomcat以及zookeeper启动后,
 
在地址栏敲入地址:用户名密码在项目搭建的配置文件中会定义用户名,密码
登陆后,可以看管理平台上的服务数,应用数,提供者数,消费者数。以下截图
此截图所指为整个dubbo框架的的服务治理,会展现dubbo的所有的消费者,提供者
 项目启动提供者接口 如图
在点击服务治理会提示根据对应ip地址,展现出对应状态,以及操作按钮
 下面是所写的消费者代码,启动后,后台会打印出日志。同时在管理平台显示出如图显示



下面说一下关于dubbo-monitor-simple-2.5.3版本为2.5.3 下图为启动应用的图,monitor主要
监控中心服务接口调用统计报表的显示配置

1、
Dubbo服务提供者和服务消费者中的spring配置文件中增加以下配置:
<!-- 监控中心配置 -->
<!-- 监控中心协议,如果为protocol="registry",表示从注册中心发现监控中心地址,否则直连监控中心 -->
<!-- 直连监控中心服务器地址,如:address="192.168.3.71:7070"-->
<dubbo:monitor protocol="registry"/>
配置截图如下:
程序中修改配置文件,在对应的硬盘下创建monitor目录 在monitor配置文件中修改端口号,以及修改安装zookeeper时的端口。
以下是启动cmd的日志
启动后访问页面:当启动monitor后,在管理平台上会发现新增加了一个应用。
monitor 登录
在这里会显示哪个提供服务者被消费者所用,以及调用次数,对其应用的启动,停用。
调用次数
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

以上为自我总结的一部分dubbo架构知识。(对大神来说可能很菜,个人觉得对新人或者刚接触dubbo框架的人来说还是有一定帮助的)欢迎查缺补漏。


图片地址 请查看http://note.youdao.com/noteshare?id=ce09bb5fe64884f9aa58c272106f2646

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页