RPC:Remote Procedure Call 远程过程调用

目前,对于一个完整的应用来说,通常包含了若干支持不同功能的服务,亦或者是函数,这些服务之间往往可能需要互相调用,使用已经实现的服务功能,而不是需要在每个服务进程中再去重复实现已经有的功能。

这不仅对于开发者来说是一种比较合理的设计方式,对于服务的维护者来说,也不需要在每次服务出现问题或者需要更新服务功能的时候,必须迭代整个应用,而是只需要单独针对这个服务功能进行升级处理即可。

但是随着应用功能的扩展,单机部署的应用逐渐显得臃肿,这时,架构设计者尝试将一些较大的服务剥离开来,单独部署在另一台主机设备上,从而实现核心应用服务器的减负,提高资源利用率和服务性能,这就是 分布式部署 的方式。这也是一种从应用到服务的一种转变,

但是,此时服务部署在不同的机器上面,那服务之间要怎么实现相互调用呢?此时,RPC (Remote Procedure Call 远程过程调用) 就应运而生。

到这里,相信可能已经猜到了 RPC 的含义了,其实 RPC 本身就是一种概念,也就是 如何进行远程的服务调用 ,它不是一个协议,也不是一个解决方案,而是这些所有可以实现远程服务调用的解决方案的概念本身,此时你可能会马上联想到了 HTTP 协议,因为从上面的阐述来看,通过 HTTP 的方法调用同样可以解决以上的问题,而事实上,HTTP 就是可以用来实现 RPC 的一种方式。

你也完全可以自己实现一种 RPC 服务,根据你定义的通讯方式,只要保证当本地程序进行远程方法访问的时候,远程服务可以顺利接收到请求,并且能够识别客户端所调用的方法,并解析得到其中的参数,从而调用本地的函数并将最终得到的结果返回给客户端,这样也可以解决远程调用的问题。

因此,不需要局限于解决方法,任何可以高效并且稳定的解决问题的方案都是一个优秀的方案,很多时候一些流行的框架和方法都是为了解决某个既有问题而诞生的,因此当你清楚根本问题时,你就可以很好的理解这个框架或者理念。

相关推荐
yzx9910135 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
2501_915918416 小时前
HTTPS 端口号详解 443 端口作用、iOS 抓包方法、常见 HTTPS 抓包工具与网络调试实践
android·网络·ios·小程序·https·uni-app·iphone
qq_359716236 小时前
UDP的使用
网络·网络协议·udp
2301_780789668 小时前
渗透测试真的能发现系统漏洞吗
服务器·网络·安全·web安全·网络安全
天天开心a9 小时前
华为HCIP-Datacom-Core Technology H12-831 书籍目录
网络·华为
Davie_Liu9 小时前
【Docker Buildx】docker buildx本地构建多架构镜像,拉取镜像时的网络延迟问题(已解决)
网络·docker·buildx
提笔忘字的帝国10 小时前
宝塔SSL自动续签
网络·网络协议·ssl
上海云盾商务经理杨杨10 小时前
高防IP如何抵御CC攻击?2025年全面防护机制解析
网络·网络协议·tcp/ip·网络安全
李白你好10 小时前
Ping命令为何选择ICMP而非TCP/UDP?
网络协议·tcp/ip·udp
青草地溪水旁11 小时前
网络包如何经过互联网接入路由器进入互联网内部?
网络·网络编程‘