简述RPC原理和使用到的相关技术 ?

RPC(Remote Procedure Call)是一种远程过程调用协议,它允许在不同的进程或计算机之间进行通信,并像调用本地函数一样调用远程函数。RPC 的基本原理基于传输协议和网络 IO 来实现,其中传输协议可以是 TCP、UDP 等。

RPC 的使用涉及到以下相关技术:

  1. 序列化:将 Java 对象转换成字节流以便在网络上传输,常用的序列化技术有 protobuf、Thrift、hessian 等。
  2. 动态代理:通过动态代理技术,可以在运行时生成客户端和服务器端的代理类,实现远程调用的透明化。
  3. NIO:很多 RPC 框架都直接使用 Netty 这个框架,它提供了高效的 IO 处理机制。
  4. 服务注册中心:用于服务的注册和发现,常用的服务注册中心有 Redis、ZK、Consul、etcd 等。

总的来说,RPC 通过以上技术实现了跨进程或跨计算机之间的调用,使得分布式系统中的服务调用更加便捷高效。

发表评论

后才能评论