【发布时间】:2018-10-18 08:54:16
【问题描述】:
我创建了一个GRPC 服务器,并希望向其分发各种语言的“SDK”客户端。
我可以使用proto 命令(例如python)相对轻松地生成客户端:
python -m grpc_tools.protoc -I. --python_out=/tmp/python --grpc_python_out=/tmp/python MyProtoc.proto
java/ruby 等类似
此生成的代码需要手动复制到客户端应用程序。
我宁愿让我的消费者不必自己创建生成的库并集成它们。 (尤其是在向服务添加新功能时)
例如在 python 的上下文中,按照
pip install MyProtoClient
是否有机制将生成的库打包到适当的规范包管理器(即pip/maven/npm 等)?
另外,有没有办法调用服务本身来生成源库(或返回它正在实现的适当原型?)
【问题讨论】:
-
您是否需要一种简单的方法来以各自的语言为 RPC 客户端推送包?现在,您必须生成它们并将它们推送到单独的存储库中,并在包管理器中指定可以找到它们的位置。例如,在 npm 中,这是 npm 注册表,Ruby 是 gem 注册表,等等。
标签: protocol-buffers microservices grpc service-discovery