假设我们使用 gRCP/Protobuf 来连接许多应用程序。
这些应用程序是由他们自己的团队以自己的速度开发和发布的。随着时间的推移,同一应用程序将出现不同版本(例如,安装在用户 PC 上的桌面应用程序),它们在定义的界面上使用不同的版本。
虽然 Protobuf 旨在允许向后兼容,有没有办法知道不同点运行的界面版本是什么?
最简单的实现是让界面版本等于应用程序版本。
但由于使用了多种语言,因此在所有语言中实现应用程序版本控制并非易事。
那么如何进行版本接口并让服务器知道客户端版本呢?
我认为服务器应该能够登录
来自 AppName v.version 的 DATETIME 连接 [使用接口 v.version]
在即将推出的 gRPC 版本中,将有一个名为“服务器反射”的新功能。这将允许客户端向服务器询问描述正在使用的原始文件的描述符。客户端不会知道服务器正在运行的版本,而不是服务器知道客户端正在运行的版本。如果服务器描述符与客户端已有的描述符匹配,那么它将知道它们正在使用相同的版本。
这将在版本中发布1.1
.
请注意,Protobuf 的设计目的是让您don't必须这样做!如果正确设置原型,新旧版本的客户端和服务器应该可以协同工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)