RPC框架的底层实现原理:从动态代理到网络传输的技术全景

1984年,Birrell和Nelson在ACM Transactions on Computer Systems上发表了一篇划时代的论文《Implementing Remote Procedure Calls》。他们提出了一个简单而强大的构想:让程序员能够像调用本地函数一样调用远程服务器上的过程,完全屏蔽底层的网络通信细节。四十年后的今天,这个构想已经成为微服务架构的基石——从Google的gRPC到阿里巴巴的Dubbo,RPC框架支撑着全球数十亿用户的服务调用。 ...

14 min · 6975 words

序列化格式的二十年博弈:为什么 JSON 没能统一数据交换

一个承载每秒百万级请求的微服务系统,工程师发现某个JSON端点静悄悄地成为了CPU的头号消费者——没有任何错误日志,没有goroutine泄漏,服务看起来运行正常。但火焰图不会说谎:30%到40%的CPU时间消耗在JSON序列化上。这是Go语言社区2024年一份真实的生产环境报告。 ...

10 min · 5003 words