【问题标题】:gRPC interceptors golang- nested callgRPC 拦截器 golang- 嵌套调用
【发布时间】:2019-04-25 14:00:18
【问题描述】:

我想在另一个 gRPC 函数中调用一个 gRPC 函数(即像一个包装器)。您是否建议使用 gRPC 拦截器来实现它?嵌套 gRPC 调用的最佳做法是什么?

【问题讨论】:

    标签: grpc grpc-go


    【解决方案1】:

    如果有两个 GRPC 方法具有交叉(或共享)逻辑,我建议您将它们逻辑的公共部分移到另一个非 GRPC 函数中,然后只使用这两个方法中的这个新函数。那将是最好的选择。拦截器是为中间件实现而设计的,但不适用于您这样的特定用例。

    【讨论】:

    • 感谢您的回复。可能我没有解释清楚。假设我们有两个 gRPC 服务器。我们在 gRPC 服务器 A 中调用一个函数,然后从该函数中我们想从 gRPC 服务器 B 调用另一个函数,并等待从服务器 A 获得响应并将结果返回给服务器 A。服务器 A 在这里充当代理。我想知道实施此类案例的最佳做法是什么。
    • 嗯,我认为这种情况在由多层服务组成的分布式后端中很常见。您只需要将 gRPC 客户端 B 构建到 gRPC 服务器 A 中,并在服务的处理程序中使用客户端来服务 B。这是非常微不足道的。也许我误解了这个问题?
    • 我认为你的理解是正确的,你能给我一个例子吗?我知道这很简单,但我想先看一个工作示例,然后再应用到我的代码:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 2016-11-13
    • 2020-12-28
    • 1970-01-01
    • 2023-01-22
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多