说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?说说一次rpc请求的流程?

1dubbo工作原理

 

第一层:service层,接口层,给服务提供者和消费者来实现的

第二层:config层,配置层,主要是对dubbo进行各种配置的

第三层:proxy层(破绕洗),服务代理层,透明生成客户端的stub和服务单的skeleton

第四层:registry层(ruai嘴思吹),服务注册层,负责服务的注册与发现

第五层:cluster层(克拉斯特),集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合成一个服务

第六层:monitor层(模拟特),监控层,对rpc接口的调用次数和调用时间进行监控

第七层:protocol层(破瑞特扣),远程调用层,封装rpc调用

第八层:exchange层(渴死称职),信息交换层,封装请求响应模式,同步转异步

第九层:transport层(穿丝剥特),网络传输层,抽象minanetty为统一接口

第十层:serialize层(希瑞来自),数据序列化层

 

工作流程:

 

1)第一步,provider向注册中心去注册

2)第二步,consumer从注册中心订阅服务,注册中心会通知consumer注册好的服务

3)第三步,consumer调用provider

4)第四步,consumerprovider都异步的通知监控中心

 

2)注册中心挂了可以继续通信吗?

 

可以,因为刚开始初始化的时候,消费者会将提供者的地址等信息拉取到本地缓存,所以注册中心挂了可以继续通信

 

 

原文地址:https://www.cnblogs.com/q1359720840/p/11141451.html