Como chamar corretamente um único servidor de vários atores / manipuladores da Web usando o Akka HTTP?

Eu tenho um serviço (vamos chamá-lo de Serviço A) que usa o Akka Server HTTP para lidar com solicitações recebidas. Também tenho aplicativo de terceiros (Serviço B), que fornece vários serviços da web. O objetivo do serviço A é transformar solicitações do cliente, chamar um ou vários serviços da Web do serviço B, mesclar / transformar resultados e servi-lo de volta a um cliente.

Estou usando atores para algumas partes e apenas futuro para outras. Para fazer uma chamada para o Serviço B, eu uso o cliente HTTP Akka.

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

O problema é que um novo fluxo é criado para cada solicitação de serviço A e, se houver várias conexões simultâneas, isso resultará emakka.stream.OverflowStrategy$Fail$BufferOverflowException: Exceeded configured max-open-requests value of [32] error

Eu já fiz essa pergunta e recebi uma sugestão para usar um único FlowComo chamar o Akka HTTP Client corretamente para várias solicitações (10k - 100k)?

Embora funcione para um lote de solicitações provenientes de um único local, não sei como usar um único fluxo de todos os meus manipuladores de solicitações simultâneos.

Qual é o "caminho Akka" correto para fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion