您的位置:首页 > 其它

dubbo框架应用总结

2016-03-19 16:32 330 查看
1.dubbo

dubbo是一个分布式服务框架,致力于提高性能和透明化的RPC远程服务调用,以及服务的治理方案。其核心包含:

a.远程通讯:提供多种基于长连接的NIO框架抽象封装,多种线程模型,序列化,及请求响应模式信息交换。

b.集群容错:基于接口的远程调用,负载均衡,失败容错,地址路由,动态配置集群

c.自动发现:采用生产者消费者模式,消费者动态查找服务提供方。

2.消费者生产者注册中心关系

a.服务者启动时向注册中心提供自己的服务(注册中心zookeeper)

b.消费者启动时向注册中心订阅自己所需服务

c.注册中心返回服务提供者列表给消费者,如果有变更注册中心基于长连接推送变更数据给消费者

d.消费者从服务提供者列表中基于负载均衡算法选择一台服务提供者进行访问

3.使用方法

3.1生产者

a.下载dubbo依赖包及zookeeper包

b.定义服务接口并实现接口

c.在spring.xml中配置dubbo的注册中心

<dubbo:application name="dubbo-provider-payorder"/>
<dubbo:provider delay="-1" timeout="6000" retries="0"/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://localhost:2181" check="true" register="true" subscribe="false"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="21881" threads="500" contextpath="services"  accepts="500" accesslog="true" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="xxx.xxx.xxxService" ref="xxxService" protocol="dubbo" />


d.启动生成者

3.2消费者

a.通过spring配置引用远程服务

<dubbo:application name="dubbo-pc-web-consumer"/>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://localhost:2181" check="false" register="false" subscribe="true"/>
<d
4000
ubbo:protocol name="dubbo" port="20881" threads="500" accesslog="true" />
<!-- 生成远程服务代理,可以像使用本地bean一样使用 -->
<dubbo:reference id="xxxService" interface="xxx.xxx.xxxService" version="1.0.0"  />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: