c++ - 优先 gRPC 调用以避免服务器过载
问题描述
我正在使用 gRPC 从服务器收集场景节点树、属性或其他资源。所有通信都是异步的。
在每个子节点的父响应到达后发送节点树调用。因此发送的请求量增长很快。对于总共有 1500-2000 个节点的树,有时其他调用(如属性)会等待 5-10 秒才能处理。一种想法是在客户端使用优先级或第二个队列。gRPC 是否提供优先级?在 gRPC 中,我如何在给定时间限制“空中”调用的数量?如果您可以向我指出代码示例(C++)如何解决或可以解决这个问题 - 我将非常感激。
解决方案
您无法为 gRPC 调用设置优先级。如果要限制对特定通道的调用量,可以在创建通道时设置通道参数GRPC_ARG_MAX_CONCURRENT_STREAMS。
推荐阅读
- macros - 在计算器中进行多图像分析的宏加
- npm - NPM 使用传递依赖解决对等依赖
- python - scrapy 自定义输出处理器
- java - 试图编译一个新的 servlet 来做一个休息服务
- c# - Visual Studio 项目系统遇到错误
- java - 关于将文档上传到表单而不将其保存到数据库的最佳方法的建议?
- python - 从 GaussianNB 分类器 python 中获取前 3 个预测类
- android - SQLite 数据库使 Android 应用程序无错误关闭
- sql-server - 无法在带有 ODBC 13 驱动程序的 SQL Server 上使用 VB6 ADO 检索 varchar(max) 字段
- python-3.x - 如何在词嵌入层之前应用 SMOTE 技术(过采样)