主要观点:gRPC 是高性能 RPC 框架,虽成功但有缺点,需反思改进。
关键信息:
- 所谓一元 RPC 术语易让人困惑,实现较复杂,增加了工具链的复杂性和解释难度。
- 依赖 HTTP/2 限制其应用范围,对 HTTP/3 采用较晚,影响性能优势发挥。
- 早期缺乏标准化 JSON 映射,使开发者使用不便,且现有的 protobuf 文本格式被认为不必要。
- 多数 Protobuf 编码器/解码器需解析整个消息,处理大文件时需自行实现分块,缺乏标准化导致实现不一致。
- gRPC 社区活跃度不足,工具方面存在依赖管理等问题。
重要细节: - 一元 RPC 术语仅数学家易理解,实现复杂增加了不必要的 framing,对简单 RPC 不必要。
- 依赖 HTTP/2 导致部分平台和浏览器不支持,gRPC-Web 虽有解决但仍需额外代理。
- 早期缺乏 JSON 映射影响其普及,现已有标准映射但 protobuf 文本格式被认为多余。
- 处理大文件时需自行实现分块,Google 的 gRPC 和 HTTP 版本下载文件对比显示 gRPC 更复杂。
- gRPC 社区在某些地方活跃度低,工具方面依赖管理混乱,Buf CLI 等工具在一定程度上改善了情况。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。