我正在尝试学习使用grpc,在阅读了一段时间后,我有一些问题。
假设我有一台机器A,它有一个用python编写的grpc服务器。我希望在机器B上运行node.js中的grpc客户端,以便与机器A上的服务器通信。
第一个问题是,服务器和客户端是否需要共享相同的.proto文件?另外,我可以在不知道服务器源代码的情况下编写客户端部分吗?我的指导方针是什么?
一般来说,我真的不知道如何为远程服务器编写客户端,反之亦然,如果有人能就这个过程给我一个很好的解释,我将不胜感激。
grpc网站上的所有示例都使用相同的服务器和客户端语言,并从相同的机器甚至相同的文件夹中运行,这使得我更难理解它是如何远程工作的。
感谢您提供的任何解释。
发布于 2020-11-08 18:50:20
gRPC中的R代表远程,因此调用另一台机器上的代码是主要目的。
使用.proto文件,您可以生成任何语言的服务器和客户端代码,并在任何计算机上运行它。
文件应该在客户端和服务器之间共享,可以用不同的语言编写。支持向后兼容的更改,例如,在servee .proto中添加新的可选字段不需要更新旧的客户端.proto文件
.proto文件定义了消息格式和要公开的RPC服务。当从远程机器调用服务fullname时,它将是URL的一部分。
https://stackoverflow.com/questions/64736817
复制相似问题