博学谷学习记录 自我总结 用心分享 | RPC通信原理

                          RPC通信原理

 我们经常面临一个挑战,如何简化不同系统之间的通信,让它们在分布式环境中高效协同工作。RPC(远程过程调用)框架应运而生,旨在帮助我们实现这一目标。通过学习RPC框架,我对分布式系统的通信有了更深入的理解,同时也提高了我的编程水平。在这篇文章中,我将分享我在学习RPC框架过程中的心得体会。

      RPC指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

RPC是一种技术的概念名词

RPC=Remote Produce Call 是一种技术的概念名词,HTTP是一种协议,RPC可以通过 HTTP 来实现,也可以通过Socket自己实现一套协议来实现.所以题目可以换一种理解,为何 RPC 还有除 HTTP 之外的实现法,有何必要,毕竟除了HTTP实现外,私有协议不具备通用性.

RPC框架好处

http接口是在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;

优点就是简单、直接、开发方便。

如果是一个大型的网站,内部子系统较多、接口非常多的情况下,RPC框架的好处就显示出来了:

首先就是长链接,不必每次通信都要像http一样去3次握手什么的,减少了网络开销;

其次就是RPC框架一般都有注册中心,有丰富的监控管理;发布、下线接口、动态扩展等,对调用方来说是无感知、统一化的操作。

最后是安全性。

RPC三大核心: "序列化" "动态代理" "通信协议" 。

RPC一次完整的调用流程应当为: 

 

RPC中涉及的高级特性:

服务注册与服务发现

集群容错策略

路由策略

负载均衡策略

流程管理 等

总结一下,RPC要解决的两个问题:

1. 解决分布式系统中,服务之间的调用问题。

2. 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。

 

posted @ 2023-04-23 13:24  刚刚一个  阅读(31)  评论(0)    收藏  举报