- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
dubbo的背景
Dubbo的背景 2
Dubbo的应用 2
架构 3
简单用法 3
使用协议 5
Dubbo协议 5
Rmi协议 5
Hessian协议 6
HTTP协议 6
Webservice协议 7
多协议 7
不同服务不同协议 7
多协议暴露服务 8
Dubbo注册中心 8
最简单的Multicast注册中心 8
zookeeper 推荐的注册中心 8
简易监控中心 10
管理控制台 10
集群使用 11
特性 11
容错模式 11
负载均衡 12
服务容器 12
基本配置使用说明 13
Xml配置 13
Properties文件配置 14
自带优化功能 14
结果缓存 14
异步调用 15
事件通知 15
本地存根 16
本地伪装 16
开发连调与自测 17
服务分组 17
多版本 17
直连提供者 18
只订阅 18
泛化引用 18
获取上下文(dubbo的配置) 19
延迟暴露 19
Telnet命令 19
ls 显示服务列表 19
Ps 显示服务端口列表 19
Cd 20
Pwd 显示当前缺省服务 20
Trace 跟踪方法的调用情况 20
Count 统计服务的调用情况 20
Invoke 调用方法 20
Status 显示资源状态 20
Log 日志 21
最佳实践 21
分包 21
粒度 21
版本 21
兼容性 21
枚举值 22
序列化 22
异常 22
调用 22
推荐用法 23
在Provider上尽量多配置Consumer端属性 23
Provider上配置合理的Provider端属性 23
配置dubbo的缓存文件 23
Dubbo优势 24
Dubbo劣势 24
注意事项 24
Maven依赖与jar包 24
总结 26
Dubbo的背景
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
ubbo的应用
用于大规模服务化通过在消费方获取服务提供方地址列表,实现软负载均衡
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
0. 服务容器负责启动,加载,运行服务提供者。
1. 服务提供者在启动时,向注册中心注册自己提供的服务。
2. 服务消费者在启动时,向注册中心订阅自己所需的服务。
3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
消费者(调用客户端):
代码简单解释(配置项暂不说明):
在服务端只需用dubbo:service interface=com.ailk.uchannel.dubbo.IDemoService ref=demoService
timeout=100000/这段配置来暴露服务的接口,ref的值是spring配置的bean。
在客户端dubbo:reference id=demoService interface=com.ailk.uchannel.dubbo.IDemoService /,来声明一个spring的bean,然后可以在需要的地方获取这个bean,接着直接调用该接口的所有方法。如:
这段代码就是获取spring的配置文件后,获取bean,然后远程调用,并且获取返回值。
使用协议
Dubbo协议
采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)在大文件传输时,单一连接会成为瓶颈Dubbo协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。dubbo:protocol name=dubbo connections=2 /
dubbo:service connections=”0”或dubbo:reference connections=”0”表示该服务使用JVM共享长连接。(缺省)
dubbo:service connections=”1”或dubbo:reference connections=”1”表示该服务使用独立长连接。
dubbo:service connections=”2”或dubbo:reference connections=”2”表示该服务使用独立两条长连接。
连接个数:单连接
连接方式:长连接
传输协议
文档评论(0)