以动态消息为参数的 gRPC

Posted

技术标签:

【中文标题】以动态消息为参数的 gRPC【英文标题】:gRPC with dynamic messages as an argument 【发布时间】:2016-09-23 09:24:07 【问题描述】:

在阅读了 protobuf 支持动态创建动态消息之后,我正在尝试创建一个返回动态消息的 gRPC 服务。 (例如,在数据库中返回一行但模式仅在运行时已知的服务)

有可能吗?我将如何为此构建 .proto?

谢谢。

【问题讨论】:

【参考方案1】:

在 Java 中有一个名为 DynamicMessage 的特殊对象,它可以获取描述符并发送它。如果您可以在运行时获取描述符,则可以通过这种方式获取。

此外,虽然不完全符合 proto 的精神,但您可以使用 struct.proto 表示任意结构化数据。

【讨论】:

以上是关于以动态消息为参数的 gRPC的主要内容,如果未能解决你的问题,请参考以下文章

protobuf及grpc的client请求

在 golang 中更新 grpc 的接收和发送消息大小

JDK动态代理

java版gRPC实战之五:双向流

grpc学习-简介和核心概念

如何使用Python gRPC处理流式消息