返回
技术知识

什么是RPC?为什么需要RPC?

来源:JQRZX |2022-12-18 22:09955

  RPC全称RemoteProcedureCall——远程过程调用。在学校学习编程习编程时,我们可以在本地调用一个函数。但是在互联网公司,服务是一个分布式系统,部署在不同的服务器上。如何调用?


  RPC简单来说,技术就是一种解决远程调用服务的技术,使调用者像调用本地服务一样方便透明。


  1)客户端client发起服务调用请求。


  2)clientstub它可以理解为一个代理,并将调用方法.按一定格式封装参数,通过服务提供的地址,启动网络请求。


  3)信息通过网络传输到服务端。


  4)serverstub接受来自socket的消息


  5)serverstub解包消息.告诉服务器调用哪些服务,参数是什么


  6)结果返回serverstub


  7)severstub打包结果socket


  8)socket通过网络传输消息


  9)clientslub从socket拿到消息


  10)clientstub解包消息将返回结果client。


  一个RPC框架是封装步骤2到9。


  为什么需要RPC


  1.首先要明确一点:RPC可以用HTTP实现并使用协议HTTP是建立在TCP最广泛使用的RPC,然而,互联网公司经常使用自己的私人协议,如鹅厂JCE协议,为什么私有协议没有通用性?HTTP协议,RPC采用二进制字节码传输,更高效、更安全。


  2.现在行业提倡“微服务“目前,服务间沟通有两种方式,RPC就是其中之一。RPC可以保证不同服务之间的相互调用。即使是跨语言跨平台也不是问题,这使得构建分布式系统更容易。


  3.RPC服务降级的框架.流量控制功能,确保服务的高可用性。

打赏
  • 0人打赏
    举报
关闭
同类资讯