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的注册中心
d.启动生成者
3.2消费者
a.通过spring配置引用远程服务
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" />
相关文章推荐
- 广度/宽度 优化搜索
- C#高级编程(第六版)学习:第三十一章:Windows窗体
- Android studio的ADBWifi使用
- jquery中attr和prop的区别分析
- hihocoder 1041 国庆出游 (DFS + bitset 好题)
- iOS开发-关于自定义控件很值得一看的文章( 三)
- Password bcrypt scrypt
- list_head结构体的理解
- 学习js,遇到坑爹的combobox的text值的清空问题
- HDU-3506 Monkey Party (环形石子合并)
- LVM的基本应用
- 自反串
- JSoup/NSoup对CSS类名称中含空格的处理
- STL源码剖析——序列容器之vector
- 计算代码运行时间
- 关于客户端反复点击不同选项卡重复创建请求的问题
- oracle job延迟执行
- 2. Android Framework - IPC机制
- 时间记录日志
- 内容提供者