Расставьте приоритеты вызовов gRPC, чтобы избежать перегрузки сервера - PullRequest
0 голосов
/ 26 июня 2019

Я использую gRPC для сбора дерева узлов сцены, свойств или других ресурсов с сервера. Все коммуникации асинхронные.
Вызовы дерева узлов отправляются после того, как родительский ответ поступил для каждого дочернего элемента. Так что количество отправленных запросов растет довольно быстро. Для дерева с 1500-2000 узлами есть моменты, когда другие вызовы (например, свойства) ожидают обработки в течение 5-10 секунд. Одна из идей - использовать приоритеты или вторую очередь на стороне клиента. Предоставляет ли gRPC приоритеты? Как в gRPC я могу ограничить количество звонков в эфире в данное время? Если бы вы могли указать мне примеры кода (C ++), как эта проблема или может быть решена - я был бы очень признателен.

1 Ответ

0 голосов
/ 26 июня 2019

Нет приоритета, который вы можете установить для вызовов gRPC. Если вы хотите ограничить количество вызовов для определенного канала, вы можете установить канал arg GRPC_ARG_MAX_CONCURRENT_STREAMS при создании канала.

...