首页 > 代码库 > Dubbo框架应用之(一)--服务体系
Dubbo框架应用之(一)--服务体系
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,能够和 Spring框架无缝集成,也是一个很全面的SOA基础框架。其是阿里巴巴SOA服务化治理方案的核心框架。每天为2,000+个服务提供3,000,000,000+次訪问量支持,并被广泛应用于阿里巴巴集团的各成员网站.
下面的四个阶段能够用官方的Dubbo架构路线图来概括,
主要核心部件:
Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
Registry: 服务文件夹框架用于服务的注冊和服务事件公布和订阅
工作原理
Provider
暴露服务方称之为“服务提供者”。
Consumer
调用远程服务方称之为“服务消费者”。
Registry
服务注冊与发现的中心文件夹服务称之为“服务注冊中心”。
Monitor
统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。
(1) 连通性:
注冊中心负责服务地址的注冊与查找,相当于文件夹服务,服务提供者和消费者仅仅在启动时与注冊中心交互,注冊中心不转发请求,压力较小
监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心server,并以报表展示
服务提供者向注冊中心注冊其提供的服务,并汇报调用时间到监控中心,此时间不包括网络开销
服务消费者向注冊中心获取服务提供者地址列表。并依据负载算法直接调用提供者。同一时候汇报调用时间到监控中心,此时间包括网络开销
注冊中心,服务提供者。服务消费者三者之间均为长连接。监控中心除外
注冊中心通过长连接感知服务提供者的存在,服务提供者宕机。注冊中心将马上推送事件通知消费者
注冊中心和监控中心所有宕机,不影响已执行的提供者和消费者,消费者在本地缓存了提供者列表
注冊中心和监控中心都是可选的,服务消费者能够直连服务提供者
(2) 健状性:
监控中心宕掉不影响使用,仅仅是丢失部分採样数据
数据库宕掉后,注冊中心仍能通过缓存提供服务列表查询,但不能注冊新服务
注冊中心对等集群,随意一台宕掉后,将自己主动切换到还有一台
注冊中心所有宕掉后。服务提供者和服务消费者仍能通过本地缓存通讯
服务提供者无状态。随意一台宕掉后,不影响使用
服务提供者所有宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
(3) 伸缩性:
注冊中心为对等集群。可动态添加机器部署实例,所有client将自己主动发现新的注冊中心
服务提供者无状态,可动态添加机器部署实例,注冊中心将推送新的服务提供者信息给消费者
接下里依据项目中的应用会层层深入……
Dubbo框架应用之(一)--服务体系