【问题标题】:standard way to discover gRPC service发现 gRPC 服务的标准方法
【发布时间】:2017-10-13 05:49:16
【问题描述】:

远程客户端在 gRPC 服务器上发现可用服务的标准方法是什么?我知道有一种叫做 gRPC 反射的东西。但是我们如何使用它呢?我正在寻找与语言无关的解决方案(提供 gRPC 支持)

【问题讨论】:

  • 你使用什么 gRPC 语言?对于 Java,有一个包含服务器反射“服务”的特殊包,但其他语言在其他地方包含它。
  • 您是想在运行时从随机语言进行反射,还是作为开发的一部分进行反射,或者只是从命令行之类的东西?

标签: grpc


【解决方案1】:

我发现看问题的日期我的回答可能毫无用处。

据我了解浏览日志文件和部署reflection 功能,grpc 客户端使用HTTP/2.0 协议向 grpc 服务器发送 POST 请求/grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo 以接收公开服务列表及其方法,例如:

$ grpcurl --plaintext host:8000 list
grservices.diagnostic
$ ~/gopath/bin/grpcurl --plaintext host:8000 list grservices.diagnostic
GetDateTime
GetTimeZones

日志:

"POST /grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo HTTP/2.0"
"POST /grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo HTTP/2.0"

【讨论】:

    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 2021-06-27
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2017-12-10
    • 1970-01-01
    相关资源
    最近更新 更多