【问题标题】:Concurrent grpc calls in javajava中的并发grpc调用
【发布时间】:2020-06-09 21:06:22
【问题描述】:

我有一个动态的点对点网络,其中节点与 grpc 通信。每个节点都有自己的服务器和客户端。为新节点的登录定义了一种 gr​​pc 方法。我使用同步消息将登录信息传达给所有其他人,在那里我与其他服务器创建一个新通道,发送一条消息并等待响应。

rpc enter(LogIn) returns (Response);

如果我的网络中有一个节点(节点 1),然后两个或多个节点同时进入,例如节点 2 和节点 3,它们将在节点 1 的服务器上调用 grpc 方法“进入”。使用这种方法,node1的服务器的行为是什么?它能够管理这两个请求吗?因此,使用这样的方法,grpc 将同时到达的消息排队,还是只处理一个请求? 谢谢

【问题讨论】:

    标签: concurrency grpc peer


    【解决方案1】:

    gRPC 支持多个 RPC 的并发执行。当 RPC(或 RPC 事件)到达时,它会在构建服务器时指定的 serverBuilder.executor() 上排队。如果您未指定,则使用默认执行程序,该执行程序根据需要使用尽可能多的线程。如果 RPC 是相同的 RPC 方法或不同的 RPC 方法,gRPC 中的任何行为都不会有所不同。

    【讨论】:

    • 不错!因此,如果我在同一方法上有并发调用的并发线程,节点 1 服务器能够同时回复节点 2 和节点 3,对吗?
    • 是的!您将能够同时处理来自其他两个节点的请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多