RPC框架 Dubbo 实现原理

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

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


    IMG_4519.PNG
  • 客户端使用动态代理的方式,“假装”实现了createOrder方法。
  • 方法相关的数据通过序列化,进入到socket服务器。dubbo的socket实现为Netty。
  • 服务端从socket服务器取出数据,通过反射的方式找到“真实”的服务实现。
  • 服务端的方法在服务启动时已注入。
  • 服务发现层,可用zookeeper。zookeeper保证了CP(一致性,分区容错性)。缺点:master节点挂掉时,需要时间重新选择master,这段时间内注册中心将不可用。
  • 注意:服务端可消费端注册成功后,通讯只走socket服务器,不会经过注册中心。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,374评论 19 139
  • Dubbo是什么 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式...
    Coselding阅读 17,317评论 3 196
  • 两年前从深圳一家公司辞职,辞职后念念着心中的诗和远方,也踏上远方的路,去追求我心中的诗。 可辞职后的那段日子,变得...
    耳朵在聆听阅读 3,860评论 0 2
  • 时光是很好的疗伤神器,所有的不如意都会过去,唯有满载你的心不会忘记那些曾经的点点滴滴。你的名字是我不能再与人说的心...
    征姐的无敌范儿阅读 3,150评论 3 0
  • 元代大学者许衡一日外出,因为天气炎热,口渴难耐。正好路边有一棵梨树,行人们纷纷去摘梨解渴,只有许衡一个人不为所动。...
    cyanwind阅读 4,605评论 2 1