什么是RPC(为什么需要RPC)
RPC是什么?RPC远程过程调用的全名——远程过程调用。在学校学编程,我们写一个函数,在本地调用。但在互联网公司,服务是部署在不同服务器
RPC是什么?
RPC远程过程调用的全名——远程过程调用。在学校学编程,我们写一个函数,在本地调用。但在互联网公司,服务是部署在不同服务器上的分布式系统。如何调用它们?
简单来说,RPC就是解决远程调用服务问题的技术,让调用者像调用本地服务一样方便透明。
下图显示了客户端调用远程服务的过程:
1)客户端发起服务调用请求。
2)客户端stub可以理解为代理,它将调用方法和参数封装成一定的格式,通过服务提供的地址发起网络请求。
3)消息通过网络传输到服务器。
4)服务器存根接受来自套接字的消息
5)服务器存根将消息解包,并告诉服务器要调用哪个服务以及参数是什么。
6)结果被返回到服务器存根
7)服务器存根将结果打包并提供给套接字。
8)socket通过网络传输消息。
9)客户端slub从套接字获取消息
10)客户端存根将消息解包,并将结果返回给客户端。
RPC框架封装了步骤2到9。
为什么需要RPC?
1、首先要明确:RPC可以用HTTP协议实现,使用HTTP是基于TCP的应用最广泛的RPC。然而,互联网公司往往使用自己的私有协议,如鹅厂的JCE协议。当私有协议不通用时,为什么要使用私有协议呢?与HTTP协议相比,RPC采用二进制字节码传输,更高效、更安全。
2、现在,业界提倡微服务,而目前服务之间有两种通信方式,RPC就是其中之一。RPC可以保证不同服务之间的相互调用。甚至跨语言、跨平台都不是问题,更容易构建分布式系统。
3、RPC框架将具有服务降级和流量控制功能,以确保服务的高可用性。
推荐阅读
- alfa romeo车标含义?(阿尔法罗密欧车标)
- 华为鸿蒙os如何操作 华为鸿蒙os2.0系统官网报名入口
- 14款沃尔沃s60l二手车能买吗?(沃尔沃s60为什么贬值厉害)
- power mp3 wma converter(mp3格式转换器)软件介绍(power mp3 wma converter(mp3格式转换器))
- 42岁李贞贤宣布平安生女,网友:歌声击退山贼的那个
- 热火朝天的高铁WiFi迟迟未到(5G能否破局)
- 华为手机性价比最高是哪几款2022? 华为哪款手机性价比高最值得入手
- 进口捷豹全部车型报价?(捷豹报价大全价格表)
- 韩庚江铠同疑相恋,两人同游马尔代夫遭曝光
- 八卦格字帖软件介绍(八卦格字帖)
- 虚拟机 操作系统(操作系统整合:虚拟机管理程序的下一步)
- 比亚迪f6参数配置?(比亚迪f6)
- 奥沙利文获世锦冠军,奥沙利文得了几次世锦赛冠军
- Evel Knievel手游游戏介绍(Evel Knievel手游)
- 索尼wi1000x拆解(SONYNZW-X1000系列高清拆解图集)
- 4座硬顶敞篷跑车都有哪几款?(4门4座硬顶敞篷车推荐)
- 艺术体操团体全能决赛,艺术体操团体全能决赛中国
- 工人物语6通用修改器游戏介绍(工人物语6通用修改器)
- 简述电机换向器的工作原理图(简述电机换向器的工作原理)
- Atheros-AR5007EG无线网卡驱动软件介绍(Atheros-AR5007EG无线网卡驱动)