文章插图
对照上面的整体架构图 , 大致分为以下8大步骤:
1、服务提供者启动,开启Netty服务,创建Zookeeper客户端,向注册中心注册服务;
2、服务消费者启动,通过Zookeeper向注册中心获取服务提供者列表,与服务提供者通过Netty建立长连接;
3、服务消费者通过接口开始远程调用服务,ProxyFactory通过初始化Proxy对象 , Proxy通过创建动态代理对象;
4、动态代理对象通过invoke方法,层层包装生成一个Invoker对象,该对象包含了代理对象;
5、Invoker通过路由,负载均衡选择了一个最合适的服务提供者,在通过加入各种过滤器,协议层包装生成一个新的DubboInvoker对象;
6、再通过交换成将DubboInvoker对象包装成一个Reuqest对象,该对象通过序列化通过NettyClient传输到服务提供者的NettyServer端;
7、到了服务提供者这边,再通过反序列化、协议解密等操作生成一个DubboExporter对象,再层层传递处理,会生成一个服务提供端的Invoker对象;
8、这个Invoker对象会调用本地服务,获得结果再通过层层回调返回到服务消费者,服务消费者拿到结果后,再解析获得最终结果 。
以上 , 是关于 Dubbo 原理机制及架构设计等的详细解析 。
本文对理解、掌握和使用 Dubbo 有所帮助,可以作为 Dubbo 的参考学习资料,建议收藏、时常温顾 。
如果觉得有用,请点击【 推荐 】支持下,谢谢~
作者简介陈睿 | mikechen , 10年+大厂架构经验,「mikechen 的互联网架构」系列文章作者 , 专注互联网架构技术 。
阅读「mikechen 的互联网架构」的更多技术文章合集:
Java并发 | JVM | MySQL | Spring | Redis | 分布式 | 高并发
推荐阅读
- 小米Civi全面评测_小米Civi真机体验
- Dubbo 03: 直连式 + 接口工程
- Dubbo2.7详解
- 小米平板5pro怎么样_小米平板5pro全面评测
- 北京同仁堂面膜最近真的超级火,今天就做一篇同仁堂面膜的全面解析,首先一定要知道两点
- oppowatch2全面测评_oppowatch2值得买吗
- StampedLock:一个并发编程中非常重要的票据锁
- realme真我Q3s评测_realme真我Q3s全面评测
- 荣耀MagicBookV14评测_荣耀MagicBookV14全面评测
- iphone13mini值得买吗_iphone13mini全面评测