RPC

 RPC即远程过程调用,允许调用远程方法时能像调用本地方法一样。在调用本地方法时,程序处于同一个进程,同样的内存空间,而远程调用时则不一样,为此,RPC框架则需要解决以下几个问题:

  • 寻址:服务提供者与服务消费者通过在服务注册中心注册服务与订阅服务;
  • 序列化与反序列化:网络传输时数据为二进制流;
  • 网络通信:Java提供的IO流操作即可完成网络通信,但较为复杂,Netty是一个IO通信框架,可基于此来实现RPC。

调用流程