上QQ阅读APP看书,第一时间看更新
3.1.1 架构分层剖析
(1)Service层
提供服务提供者、服务消费者角色定位的接口与方法,两个角色在某一次通信过程中是确定的,但是在不同的通信过程中,角色是可以互换的。
(2)Config层
提供对外依赖的配置管理,各服务自身的配置管理等功能。
(3)Proxy层
提供服务的代理,服务提供者、服务消费者都会使用代理来通信,让远程调用以及本地调用都可以对用户透明化。
(4)Registry层
提供了服务的注册与发现功能,强大的参数service URL就是在此层构建的。
(5)Cluster层
封装了集群的功能,例如多个服务提供者实例的负载均衡、路由等,对服务消费者来说是透明的,只需要与一个服务提供者通信即可。
(6)Monitor层
提供了RPC调用的次数、执行时间等指标管理与监控功能。
(7)Protocol层
实现了真正的RPC过程,其中Invoker是暴露服务和引用服务的主功能入口,它负责Invoker的生命周期管理。Invoker是Dubbo的核心模型,其他模型都向它靠拢或转换成它。它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现或是一个远程的实现,也可能是一个集群实现。
(8)Exchange层
封装了请求/响应消息、同步/异步转换、调用/交互通信等过程,给用户提供统一视图。
(9)Transport层
抽象了通信消息在传输层面的处理过程,透明化了底层通信框架。
(10)Serialize层
提供了序列化管理方面的功能。