Skip to content
On this page

gRPC 学习

背景

添加到应用的新功能可能要求提供给客户端的 gRPC 服务进行更改

  1. 应考虑更改会如何影响客户端。
  2. 应实现支持更改的版本控制策略

名词解释

  1. 非中断性变更:允许现有客户端继续工作而不做任何变更

  2. 中断性变更:gRPC 服务发生中断性变更时,必须更新和重新部署使用该服务的客户端

设计原则

向后兼容性,尽量对服务进行非中断性变更,好处是:

  1. 现有客户端可继续运行
  2. 避免向客户端通知中断性变更并进行更新
  3. 只需要记录和维护服务的一个版本

版本控制方案

proto 文件变更规范

  1. proto 文件遵循只增不减的原则
  2. proto 文件中的接口遵循只增不减的原则
  3. proto 文件中的 message 字段遵循只增不减的原则
  4. proto 文件中的 message 字段类型和序号不得修改

MIT License.