RPC应该是一种高层次的,语言层次的,而不是像IPC( 本地套接字接口(IPC Socket) )那种低层次,系统层次的东西,我来为大家科普一下关于rpc远程调用原理?以下内容希望对你有帮助!

rpc远程调用原理(远程服务调用RPC)

rpc远程调用原理

1.远程服务调用(Remote Procedure Call,RPC)

RPC应该是一种高层次的,语言层次的,而不是像IPC( 本地套接字接口(IPC Socket) )那种低层次,系统层次的东西

2.RPC协议框架3.进程间通讯
  1. RPC 出现的最初目的,就是为了让计算机能够跟调用本地方法一样,去调用远程方法。
  2. 进程间值如何进行通讯

第一,管道(Pipe)或具名管道(Named Pipe )

第二,信号(Signal)

第三,信号量(Semaphore)

第四,消息队列(Message Queue)

第五,共享内存(Shared Memory)

第六,本地套接字接口(IPC Socket)

RPC协议主要解决的三个基本问题
  1. 表示数据
  2. 传递数据
  3. 表示方法
RPC由于意见不统一,百家争鸣,大家最后默认不再追求大而完美,而是找到一个独特的点作为主要发展方向

面向对象发展

向性能发展

向简化发展

RPC 框架有明显朝着更高层次(不仅仅负责调用远程服务,还管理远程服务)与插件化方向发展的趋势,不再选择自己去解决表示数据、传递数据和表示方法这三个问题,而是将全部或者一部分问题设计为扩展点,实现核心能力的可配置,再辅以外围功能,如负载均衡、服务注册、可观察性等方面的支持。这一类框架的代表,有 Facebook 的 Thrift 和阿里的 Dubbo(现在两者都是 Apache 的)

,