【问题标题】:Java, gRPC and Context propagationJava、gRPC 和上下文传播
【发布时间】:2018-08-20 13:21:27
【问题描述】:

有没有人有一个在 java 中使用 gRPC 在客户端(存根)和服务器之间传播 io.grpc.Context 的工作示例?

我的理解是这是不可能的,我必须改用元数据。我说的对吗?

我在网上只找到了使用 Header 而不是 Context 的示例。

谢谢!

【问题讨论】:

    标签: java rpc grpc proto


    【解决方案1】:

    io.grpc.Context 仅用于本地传播,例如在线程之间甚至在同一个线程上。 gRPC 故意不自动从中传播项目。您可以使用ClientInterceptor 将值从Context 复制到Metadata

    【讨论】:

    • 感谢您的回答。出于好奇,为什么 io.grpc.Context 没有传播?
    • 本地和远程传播的内容根本不同。例如,上下文值没有序列化。但即使是这样,自动向远程主机发送任意“环境”值听起来很可怕且容易出错。 Context类似于ThreadLocal;自动发送 ThreadLocals 到远程会很奇怪。
    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 2018-06-04
    • 2019-05-02
    • 2017-10-03
    • 2020-04-16
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    相关资源
    最近更新 更多