Как правильно вызвать один сервер из нескольких участников / веб-обработчиков, используя Akka HTTP?

У меня есть сервис (назовем его Сервис A), который использует Akka Server HTTP для обработки входящих запросов. Также у меня есть стороннее приложение (Сервис B), которое предоставляет несколько веб-сервисов. Цель службы A состоит в том, чтобы преобразовывать запросы клиентов, вызывать одну или несколько веб-служб службы B, объединять / преобразовывать результаты и передавать их обратно клиенту.

Я использую Актеры для некоторых частей, и просто Будущее для других. Чтобы позвонить в службу B, я использую HTTP-клиент Akka.

Http.get(actorSystem).singleRequest(HttpRequest.create()
        .withUri("http://127.0.0.1:8082/test"), materializer)
        .onComplete(...)

Проблема заключается в том, что для каждого запроса службы A создается новый поток, и если имеется несколько одновременных подключений, это приводит кakka.stream.OverflowStrategy$Fail$BufferOverflowException: Exceeded configured max-open-requests value of [32] error

Я уже задавал этот вопрос и получил предложение использовать один потокКак правильно вызвать HTTP-клиент Akka для нескольких (10–100 тыс.) Запросов?

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

Какой правильный «Акка-путь» для этого?

Ответы на вопрос(3)

Ваш ответ на вопрос