В Google PubSub вызов публикации от клиента может вызываться асинхронно. Из-за этого я бы подумал, что можно было бы запускать и отправлять на сервер несколько запросов на публикацию одновременно, особенно если пороги пакета слишком низкие.
Если это правда, как клиент pubsub контролирует количество одновременных запросов на публикацию, которые могут быть созданы? Есть ли жесткое ограничение или ошибка, которая может возникнуть, если создается слишком много запросов? Является ли это предполагаемым использованием асинхронного издателя или просто разрешить другие действия, не связанные с публикацией?
Хотя этот вопрос относится к любому из клиентов, у нас конкретно проблема с клиентом C #, и мы периодически получаем следующую ошибку:
Grpc.Core.RpcException: Status(StatusCode=DeadlineExceeded, Detail="Deadline Exceeded")
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass0_0`2.<<WithRetry>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
Я думаю, что мы отправляем слишком много запросов на публикацию ... но я не уверен.