REST 端点如何调用 gRPC 服务器/微服务中的方法?

How can a REST endpoint call a method in gRPC server/ microservice?

我对 gRPC 非常陌生,根据我的要求,我只是想知道这是否可行,如果可行,那么如何实现?

我有一个带端点的 rest API 应用程序,这个 rest api 如何调用 gRPC 服务器方法或客户端方法?

理想情况下,我想知道 rest api 是否可以与微服务通信(这是一个带有端点列表的 api 服务) 通过 gRPC 和 return 对调用 rest 的响应 API. 其余的API和微服务都是用c#写的,.Net core 3.0

提前致谢。

是的,您可以使用 grpc-gateway 这样做:

  rpc Echo(StringMessage) returns (StringMessage) {
    option (google.api.http) = {
      post: "/v1/example/echo"
      body: "*"
    };
  }

然后你可以通过 HTTP url /v1/example/echo 调用 gRPC 服务 Echo。 grpc-gateway可以是golang写的一个独立的应用程序,它会处理http请求并转换为gRPC请求。