说说Dubbo的整体架构及分层?

本文详细介绍了Dubbo的服务治理机制,包括五个核心角色:registry(注册中心)、provider(服务提供者)、consumer(服务消费者)、monitor(监控中心)和container(容器)。调用流程涉及服务的注册、订阅、负载均衡和统计监控。此外,文章还阐述了Dubbo的分层架构,从接口服务层到数据序列化层,揭示了其内部工作原理。

一、五个角色

注册中心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) : 数据传输的序列化和反序列化

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding路人王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值