当前位置:首页 > 知识 >

浅谈RPC与HTTP,最易懂的讲解

  • HT tp tt
  • 2023-06-16 23:38:57
  • 26
随着公司 IT 服务飞速发展,单台服务器已难以承担客户日益增加的工作压力,因此必须将几台服务器组成一个服务群集,协同对外提供服务。同时,随着产品需求的增加,业务流程服务也变得越来越臃肿,需要进行服务分拆。一个完整的大中型服务会被拆分成许多单独的小服务,每个小服务由独立的过程管理方法对外提供服务,这就是“微服务”。

当消费者的需求出现时,必须将客户的需求分散到多个服务中分别解决,然后将这些子服务的结果归纳展现给客户。因此,服务中间的交互方式成为必须处理的重要问题,RPC 即为用于处理服务中间信息内容交互的发明和出现之一。

RPC(Remote Procedure Call)即远程过程调用,是分布式架构中一种普遍的通讯方式,已有40多年的历史。RPC 是建立物理隔离的分布式系统的一种常用方式之一,除 RPC 外,普遍的多系统软件数据信息交互解决方案还包括分布式系统线程池、HTTP 请求、数据库查询和分布式缓存等。

RPC 和 HTTP 请求都没有通过分布式数据库,它们是端到端系统软件的数据信息交互方式。HTTP 请求实际上也是一种特殊的 RPC,只不过在传统定义中,RPC 指长连接的数据信息交互,而 HTTP 通常是指短链接。

在许多分布式数据库中,RPC 都有其影子。如 Nginx、Redis、MySQL、Dubbo、Hadoop、Spark、Tensorflow 等超重量级开源系统都建立在 RPC 技术的基础上。RPC 在技术中的影响力十分广泛,但仍有很多人不清楚它的存在。

Nginx 是互联网公司中应用最广泛的代理商服务器,它可以为后面的分布式系统服务提供 web 服务的作用,将后面的多个服务详细地址汇聚为单个地址对外提供服务。与后面服务的交互也可解释为 RPC 数据信息交互,此处使用的协议不限于 HTTP 协议,还包括 uwsgi 协议、fastcgi 协议等,这些协议都是使用比 HTTP 协议更为节约数据流量的二进制协议。

在云计算技术行业,RPC 也占据了重要的地位。例如,大数据行业广泛运用了许多

猜你喜欢

微信二维码

微信