概述
五个角色:
注册中心registry:服务注册与发现
服务提供者provider:暴露服务
服务消费者consumer:调用远程服务
监控中心monitor:统计服务的调用次数和调用时间
容器container:服务允许容器
调用流程:
1:container容器负责启动、加载、运行provider
2:provider在启动时,向regisitry中心注册自己提供的服务
3:consumer在启动时,向regisitry中心订阅自己所需的服务
4:regisitry返回服务提供者列表给consumer,如果有变更,registry将基于长连接推送变更数据给
consumer
5:consumer调用provider服务,基于负载均衡算法进行调用
6:consumer调用provider的统计,基于短链接定时每分钟一次统计到monitor
分层:
接口服务层( Service):面向开发者,业务代码、接口、实现等
配置层( Config):对外配置接口,以 ServiceConfig 和 ReferenceConfig 为中心
服务代理层( Proxy):对生产者和消费者、dubbo都会产生一个代理类封装调用细节,业务层对远程
调用无感
服务注册层( Registry) : 封装服务地址的注册和发现, 以服务 URL 为中心
路由层( Cluster) : 封装多个提供者的路由和负载均衡, 并桥接注册中心
监控层( Monitor) : RPC 调用次数和调用时间监控
远程调用层( Protocal):封装 RPC 调用
信息交换层( Exchange): 封装请求响应模式, 同步转异步
网络传输层( Transport):抽象 mina 和 netty 为统一接口,统一网络传输接口
数据序列化层( Serialize) : 数据传输的序列化和反序列化
最后
以上就是正直台灯为你收集整理的Dubbo 的整体架构设计及分层的全部内容,希望文章能够帮你解决Dubbo 的整体架构设计及分层所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复