Я посылаю события через SqsPublishFlow.grouped
, так что я могу использовать Sink для отслеживания и подтверждения каждого отправленного события.
Когда я проверяю это в простой ActorSystem, поток отправляет сообщения в течение миллисекунд, однако при использовании точно такого же кода в моей полностью настроенной производственной системе .via(flow)
постоянно приостанавливается на 2 секунды.
Производственная система имеет два потока для отправки событий в разные очереди и 3 потока для получения событий от разные очереди. Прямо сейчас все они используют один SqsAsyncClient
, созданный с помощью AkkaHttpClient
, используя базовую систему актеров.
Я могу остановить 2-секундную паузу, если каждый поток использует свой собственный SqsAsyncClient
, который не использует AkkaHttpClient
с использованием базового ActorSystem
. При использовании отдельных SqsAsyncClient
, которые используют базовый ActorSystem
для своих http-клиентов, проблема сохраняется.
Так что, похоже, на уровне ActorSystem
существует некоторая конкуренция, но я не знаю должно ли это быть настроено или все экземпляры SqsAsyncClient
должны работать независимо от ActorSystem
.