gRPC:不好的部分

主要观点: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 等工具在一定程度上改善了情况。
阅读 12
0 条评论