登陆

好好说一说Dubbo的架构原理

admin 2019-05-14 292人围观 ,发现0个评论

今日好好说一说Dubbo的架构原理

作业原理

简略的说,Dubbo 是 根据 Java 的 RPC 结构。Dubbo 作业分为 4 个人物,分别是服务供给者服务顾客注册中心、和监控中心

依照作业阶段又分为布置阶段运转阶段

其间布置阶段在图中以挚友蓝色的线来表明,代表服务注册、服务订阅的进程,而运转阶段在图中以赤色的线来表明,代表一次 RPC 的完好调用。

布置阶段中服务供给方在启动时在指定的端口上露出服务,并向注册中心报告自己的地址。

服务调用方启动时向注册中心订阅自己感兴趣的服务。

运转阶段注册中心先将地址列表推送给服务顾客,服务顾客选取一个地址向对端建议调用。

在这个进程中,服务顾客和服务供给者的运转状况会上报给监控中心。

全体架构

这里是 Dubbo 的全体架构图。首要这张图看起来很杂乱、信息量很大。不要被吓到。一点点的来看。

我先介绍一下这张图的解读办法。这张图从左好好说一说Dubbo的架构原理往右看,分为两部分,左半边蓝色布景的部分代表服务顾客,右半边绿色布景的部分代表服务供给者。

从上往下看又分为九层。

左面九层按功用来区分又被分为了三大类,分别是面向用户的 Biz 层、结构中心 RPC 以及担任长途传输的 Remoting,右边按面向人群又区分为了两类,上面两层是面向用户的 API,而下面七层是面向扩展供给者的 SPI。

图中的线代表方针与方针之间不同的联系,紫色代表承继;黑色代表依靠;蓝色虚线代表服务注册、服务订阅的进程,也便是上面讲的布置阶段;赤色代表一次完好的 RPC 调用,也便是运转阶段。

咱们顺着赤色的线,来看下一次完好的 RPC 调用是怎么进行的。

首要从图的左面开端,服务顾客从 Proxy 层建议一次 RPC 调用,Dubbo 从 Registry 层拿到服务的地址列表,再经过 Cluster 层挑选其间的一个作为方针地址,再流经 Protocol 决议的履行链,终究将服务信息,包含要调用的服务名、办法名、参数等序列化,再经过好好说一说Dubbo的架构原理使用协议编码,经过 Transport 层发送到好好说一说Dubbo的架构原理网络上。

右边的服务供给者从网络上收到数据今后,从下往上,顺次经过使用协议解码、反序列化得到要调用的服务信息,再经由履行链,终究经过 Invoker 找到方针服务的方针办法,履行并回来成果

解读完 Dubbo 的架构图,再来看看架构图中表现的规划准则。

Dubbo 秉承高内聚、低耦合的规划,这一点表现在架构图中九层的明晰区分上,而且也表现在依靠的方向上。黑色好好说一说Dubbo的架构原理的线条的方向永远是从上指向下,没有循环依靠和反向依靠的呈现。

Dubbo 还有一个很重要的规划哲学便是相等对待第三方的扩展,即 Dubbo 内建的功用也是经过相同的扩展好好说一说Dubbo的架构原理机制供给出来的,第三方的扩展和内建功用能够彼此替代。正是因为 Dubbo 将第三方扩展当成结构的一等公民,为未来根据这个机制树立生态带来了可能性。

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP