Dubbo RPC框架
1、dubbo三大核心功能
远程方法调用:提供多种NIO框架的封装,包括 同步转异步,请求-响应 模式的信息交换方式
智能容错和负载均衡:多协议支持,软负载均衡,失败容错,地址路由,动态配置等集群支持
服务注册和发现:基于注册中心目录服务,消费方动态找服务方,地址透明,服务方增减机器方便
2、核心组件
3、dubbo调用流程
整体步骤:
1、服务提供者启动,注册服务
2、消费者启动,向注册中心查找服务提供者列表
3、消费者通过接口开始远程调用服务,ProxyFactory 初始化Proxy对象,再通过动态代理创建对象
4、动态代理对象通过invoke方法,层层包装生成 invoker对象,
5、invoker通过路由,负载均衡,选择一个最合适的服务提供者,再加上各种过滤器,协议层包装生成一个新的 DubboInvoker 对象
6、DubboInvoker 再封装成一个request对象,通过对象序列化,从 nettyclient 传输到 nettyserver端
7、到了服务提供者这边,通过 反序列化,协议解密等操作生成一个 DubboExporter 对象,再层层处理,生成一个服务端的 invoker对象
8、invoker 调用本地服务,再层层返回给消费者,解析获得最终结果
1、
参考这里:https://mp.weixin.qq.com/s/GKIl-ptD8Qw3OHvwE4RIrg
*
备注:公众号清汤袭人能找到我,那是随笔的地方
备注:公众号清汤袭人能找到我,那是随笔的地方