说说 Dubbo 的实现原理

Dubbo 作为 RPC 框架,实现的效果就是调用远程的方法就像在本地调用一样。如何做到呢?

  1. 本地有对远程方法的描述,包括方法名、参数、返回值,在 Dubbo 中是远程和本地使用同样的接口
  2. 要有对网络通信的封装,要对调用方来说通信细节是完全不可见的,网络通信要做的就是将调用方法的属性通过一定的协议(简单来说就是消息格式)传递到服务端
  3. 服务端按照协议解析出调用的信息;执行相应的方法;在将方法的返回值通过协议传递给客户端;客户端再解析;在调用方式上又可以分为同步调用和异步调用;
上次更新: 2018-12-25 13:22:29