RPC历经数十年而不衰的原因?现在可以尝试回答这个问题了,首先第一点我觉得应该是分布式系统的需求 。
1、分布式系统的需求单体应用时代,摩尔定律盛行,单个应用就能大部分解决业务需求,压根不涉及RPC,随着互联网的迅速发展和应用的扩大,单体应用无法满足业务需要 , 对于分布式系统的需求越来越强烈 。
分布式系统中的各个组件需要进行跨网络的通信和协作,RPC作为一种重要的通信协议 , 能够满足分布式系统的需求,提供高效、可靠的远程调用机制 。随着分布式系统规模的不断扩大和复杂性的增加 , 新的RPC框架不断涌现,以满足不同场景下的需求 。
SOA、微服务、service mesh这些技术相继出现,这些分布式架构都少不了RPC这个重要的组件,于是产生了各种各样,适配不同场景的RPC框架 。
2、RPC相关技术的演进随着计算机技术和网络技术的不断进步,RPC的实现方式和性能也在不断提升 。新的RPC框架往往借鉴和采用了先进的技术,如高性能的网络通信协议(如HTTP/2、gRPC的基于HTTP/2的传输),高效的序列化和反序列化机制(如Protocol Buffers),以及负载均衡、故障恢复等机制的优化 。这些新技术的应用使得RPC框架更加高效、可靠,并具备更好的可扩展性和弹性 。
一旦协议、网络、安全、故障恢复能机制有新的进展 , 势必就会带来RPC框架的更新 。
3、多语言的支持RPC框架通常支持多种编程语言,使得不同语言编写的应用程序能够进行跨语言的远程调用 。这对于大型分布式系统的开发非常重要 , 因为不同的团队和组织可能使用不同的编程语言开发各自的组件,新的RPC框架通常会扩展语言支持,以满足多样化的开发需求 。
我们发现每个时代都会迸发出一些新的开发语言,比如现在云原生时代 , Go和Rust语言就大受欢迎,那么支持Go语言和Rust语言的RPC框架就会出现,这也是RPC的一个活力源头所在 。
4、不同场景的需求
不同的应用场景对RPC框架提出了各种需求,例如高并发、低延迟、可扩展性、安全性等 。新的RPC框架通常会根据不同场景的需求进行针对性的优化和功能扩展,以满足特定的应用需求 。
特别是一些大厂,内部业务复杂,对于RPC有一些独特的需求 , 另外也需要匹配内部的技术栈,这样子就常常造出了新轮子 。
其实RPC确实挺有意思的,展现了技术的持久生命力,另外别看RPC就那几个组件,实际自己编写一个就知道了,需要注意的技术细节实在是太多了,也是一个非常锻炼人的活计,如果能够自己独立写一个功能比较丰富、高性能的RPC框架出来的话,我想编程能力至少应该能算是登堂入室了 。
【为什么RPC框架数十年还在造轮子?EJB骨灰都快找不到了!】
推荐阅读
- 李连杰“毁容式”近照曝光!功夫皇帝的他,为什么现在一直被黑?
- 尹新月怎么死的,张大佛爷和尹新月为什么没有孩子
- 唐三彩发源地,唐三彩价值为什么如此之高
- 女人梦见春梦醒后还有感觉为什么 女人梦见春梦醒后还有感觉
- 神舟笔记本电脑怎么打开无线上网 为什么很少人推荐神舟笔记本
- pmlc是什么,大家都用知网检测论文时间都很长为什么我的很快就检测出来了是不准么
- 为什么好马不吃回头草,好牛不吃回头草还是好马不吃回头草
- 黑莲花是现实中存在的植物吗 黑莲花是现实中存在的植物吗为什么
- 刘亦菲为什么要结婚?
- 为什么禁止食用海虹生蚝 为什么禁止食用海虹
