首页 > 解决方案 > 优先 gRPC 调用以避免服务器过载

问题描述

我正在使用 gRPC 从服务器收集场景节点树、属性或其他资源。所有通信都是异步的。
在每个子节点的父响应到达后发送节点树调用。因此发送的请求量增长很快。对于总共有 1500-2000 个节点的树,有时其他调用(如属性)会等待 5-10 秒才能处理。一种想法是在客户端使用优先级或第二个队列。gRPC 是否提供优先级?在 gRPC 中,我如何在给定时间限制“空中”调用的数量?如果您可以向我指出代码示例(C++)如何解决或可以解决这个问题 - 我将非常感激。

标签: c++grpc

解决方案


您无法为 gRPC 调用设置优先级。如果要限制对特定通道的调用量,可以在创建通道时设置通道参数GRPC_ARG_MAX_CONCURRENT_STREAMS


推荐阅读