目录
Dubbo 的核心功能
Dubbo 的组件角色
Dubbo 的核心功能
- Remoting:远程通讯,提供对多种 NIO 框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。
- Cluster:服务框架,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
- Registry:服务注册中心,服务自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
知识扩展
三种通信模型
BIO 同步并阻塞
NIO 异步并阻塞框架的抽象封装(Netty)游戏服务器,物联网服务器
AIO 异步非阻塞
Dubbo 的组件角色
组件角色 | 说明 |
Provider | 暴露服务的服务提供方 |
Consumer | 调用远程服务的服务消费方 |
Registry | 服务注册与发现的注册中心 |
Monitor | 统计服务的调用次调和调用时间的监控中心 |
Container | 服务运行容器 |
调用关系说明:
- 服务容器
Container
负责启动,加载,运行服务提供者。 - 服务提供者
Provider
在启动时,向注册中心注册自己提供的服务。 - 服务消费者
Consumer
在启动时,向注册中心订阅自己所需的服务。 - 注册中心
Registry
返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 - 服务消费者
Consumer
,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 - 服务消费者
Consumer
和提供者Provider
,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心Monitor
。
如有其它问题,欢迎大家留言,我们一起讨论,一起学习,一起进步