Последствия установки значения maxOutstandingElementCount в FlowControlSettings равным нулю? - PullRequest
0 голосов
/ 22 октября 2018

В более поздних версиях Java API клиента Google PubSub они добавили maxOutstandingElementCount значение , которое по умолчанию равно 1000.

maxOutstandingElementCount - максимальное количество элементовкоторые могут быть ожидающими до ограничения потока данных, или нулевыми, если нет указанного ограничения.

Мы используем PubSub в транзакционной системе и пытаемся подтвердить сообщения только в определенной точке вбудущее, когда транзакции были совершены на глобальном уровне.Проблема в том, что мы не всегда заранее знаем количество записей, которые мы хотим обработать, поскольку транзакции могут основываться на времени или логике клиента.

Вопрос: Что такоеПоследствия установки максимального выдающегося значения равным null или некоторому большому целому числу?Влияет ли это только на хранение в памяти клиентской части выдающихся GUID или другой телеметрии?Что еще нам нужно беспокоиться?

У нас уже есть собственный контроль потока, поскольку потоки получателя записывают в ограниченные очереди блокировки, но у нас может быть 10 000 или даже 100 000 ожидающих сообщений в зависимости от настроек клиента, и мы хотим сделатьубедитесь, что значение параметра max-невысокое значение null действительно.

Спасибо за любую информацию.

1 Ответ

0 голосов
/ 29 октября 2018

Если для параметра maxOutstandingElementCount задано значение NULL или не используется управление потоком, более ожидающие сообщения продолжают потреблять ресурсы памяти, ЦП и пропускной способности.Таким образом, это может вызвать проблем с нехваткой памяти на клиентских клиентах .Это не должно влиять на что-либо большее, чем на подписчиков.

Поскольку вы используете собственный контроль потока, управляемый Google контроль потока может быть переопределен.

...