RPC框架 Dubbo 实现原理

主要为三点,动态代理、反射、socket网络编程。

  • 看过很多讲dubbo原理的文章,总感觉太抽象,偶然间看到一个直播课堂讲dubbo原理。结合了一个订单的例子现场画笔工具画图,直观很多。截屏记录下来。(提供技术直播的为老马的北京尚学堂,感谢)


    RPC框架 Dubbo 实现原理_第1张图片
    IMG_4519.PNG
  • 客户端使用动态代理的方式,“假装”实现了createOrder方法。
  • 方法相关的数据通过序列化,进入到socket服务器。dubbo的socket实现为Netty。
  • 服务端从socket服务器取出数据,通过反射的方式找到“真实”的服务实现。
  • 服务端的方法在服务启动时已注入。
  • 服务发现层,可用zookeeper。zookeeper保证了CP(一致性,分区容错性)。缺点:master节点挂掉时,需要时间重新选择master,这段时间内注册中心将不可用。
  • 注意:服务端可消费端注册成功后,通讯只走socket服务器,不会经过注册中心。

你可能感兴趣的:(RPC框架 Dubbo 实现原理)