目录

RPC框架设计概要

RPC框架设计概要

以下为个人理解,欢迎一起探讨

(个人理解)RPC 就是把拦截到的方法参数,转成可以在网络中传输的二进制,并保证在服务提供方能正确地还原出语义,最终实现像调用本地一样地调用远程的目的。

RPC调用涉及到的环节

  1. socket
  2. 协议
  3. 寻址
  4. 序列化和反序列化
  5. 异常处理

可以参考Dubbo框架的调用过程:

https://img.zhengyua.cn/img/20201124210107.png

RPC框架需要解决的问题

  1. 开发效率

    框架的初衷即是为了开发效率。

  2. 通信效率

    RPC调用环节中的通信是不可避免的。

  3. 数据传输

    需要注意序列化与反序列化,还有就是协议决定的传输效率。

  4. 通用化

    做到所有的组件是微服务化,且组件支持业务自定义的。

  5. 服务治理

    涉及到服务发现、负载均衡、超时、重试、限流、熔断、分布式链路追踪等。

单机架构:

https://img.zhengyua.cn/img/20201124212142.png

源码阅读推荐