什么是rpc
rpc 全称 remote procedure call——远程过程调用。在学校学编程,我们写一个函数都是在本地调用就行了。但是在互联网公司,服务都是部署在不同服务器上的分布式系统,如何调用呢?
rpc技术简单说就是为了解决远程调用服务的一种技术,使得调用者像调用本地服务一样方便透明。
下图是客户端调用远端服务的过程:
1)客户端client发起服务调用请求。
2)client stub 可以理解成一个代理,会将调用方法、参数按照一定格式进行封装,通过服务提供的地址,发起网络请求。
3)消息通过网络传输到服务端。
4)server stub接受来自socket的消息
5)server stub将消息进行解包、告诉服务端调用的哪个服务,参数是什么
6)结果返回给server stub
7)sever stub把结果进行打包交给socket
8)socket通过网络传输消息
9)client slub 从socket拿到消息
10)client stub解包消息将结果返回给client。
一个rpc框架就是把步骤2到9都封装起来。
为什么需要rpc
1、首先要明确一点:rpc可以用http协议实现,并且用http是建立在 tcp 之上最广泛使用的 rpc,但是互联网公司往往用自己的私有协议,比如鹅厂的jce协议,私有协议不具备通用性为什么还要用呢?因为相比于http协议,rpc采用二进制字节码传输,更加高效也更加安全。
2、现在业界提倡“微服务“的概念,而服务之间通信目前有两种方式,rpc就是其中一种。rpc可以保证不同服务之间的互相调用。即使是跨语言跨平台也不是问题,让构建分布式系统更加容易。
3、rpc框架都会有服务降级、流量控制的功能,保证服务的高可用。
交流电源List波形编辑功能如何使用?
一加5什么时候上市?一加5曝光:骁龙835+8G内存,跑分超苹果、三星?
电容器接在电路上的作用是什么?会使正负电荷聚集吗?
微链WeRobotics-B灭冠消毒机器人消毒杀菌效果接近百分百
水温传感器电阻是多少
什么是RPC?为什么需要RPC?
AI医疗攻向县城
乐金投资87.4亿增加塑胶OLED面板的产能
TP-Link 发布智能门铃:拍摄 1080p 的视频
宁德时代电池市场2020年Q3跃升为世界第三
利用DSP芯片实现MPEG-4视频编码的优化设计
51单片机for循环结束之后还在运行
利用伺服自动化可以实现成本削减和产能最大化,获得竞争优势
浅谈电动机监控系统节的能改造方案
MagicLeapOne拆解 内部结构有多复杂
Vishay发布集成电阻表面贴装MLCC
体验两周后再评华为荣耀V9手机 漂亮的不像是荣耀
【比亚迪之父王传福】中国首富王传福简介
一图看懂新迪数字企业战略发布会亮点
什么是防火墙?防火墙如何工作?