如何使 grpc 服务定义在服务器和客户端之间保持同步?
How to keep grpc service definitions in sync between server and clients?
我计划使用 grpc
来构建我的搜索 API
,但我想知道 grpc 服务定义文件(例如 .proto
)如何在服务器和客户(假设所有人都使用不同的技术)。
此外,如果服务器更改了 .proto
之一,将如何通知客户端根据这些更改重新生成它们的存根。
总结一下:如何与客户共享定义 (.proto
),以及如果这些文件发生任何更改,如何通知客户?
很简单:他们不是。这里的所有同步都是手动的,通常需要重建和重新部署,在您意识到更改并更新您的 .proto 文件之后。
不更新,你知道的字段和方法至少应该能用。你只是不会有新位。
另请注意:虽然您可以通过添加新字段和服务/方法来扩展 模式,但如果您更改字段的含义 ,或字段类型,或服务上的消息类型:预计会出现严重错误。
我计划使用 grpc
来构建我的搜索 API
,但我想知道 grpc 服务定义文件(例如 .proto
)如何在服务器和客户(假设所有人都使用不同的技术)。
此外,如果服务器更改了 .proto
之一,将如何通知客户端根据这些更改重新生成它们的存根。
总结一下:如何与客户共享定义 (.proto
),以及如果这些文件发生任何更改,如何通知客户?
很简单:他们不是。这里的所有同步都是手动的,通常需要重建和重新部署,在您意识到更改并更新您的 .proto 文件之后。
不更新,你知道的字段和方法至少应该能用。你只是不会有新位。
另请注意:虽然您可以通过添加新字段和服务/方法来扩展 模式,但如果您更改字段的含义 ,或字段类型,或服务上的消息类型:预计会出现严重错误。