scala - Akka Http 客户端 + 负载均衡器

标签 scala akka load-balancing akka-http

使用 akka http 启动负载均衡器的正确方法是什么?目前我正在使用以下代码:

val poolClientFlow = Http().cachedHostConnectionPool[String](host, port)

source
  .map(url => HttpRequest(uri = url) -> url)
  .via(poolClientFlow)
  .to(Sink.actorRef(myActor, IsDone))
  .run()

由于我之前打开连接,负载均衡器理解我要发送到同一台机器,所以循环机制无法正常工作。 我是否应该将 poolClientFlow 移动到 .via,每次打开和关闭它?

最佳答案

几周前我写了一个作为实验:

https://github.com/agemooij/stream-experiments/blob/master/src/main/scala/scalapenos/experiments/streams/LoadBalancingHttpClient.scala

它使用图形 DSL 来平衡多个独立连接池上的请求。

关于scala - Akka Http 客户端 + 负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36944903/

相关文章:

java - 混合(Scala/Java)项目的单一文档?

scala - 如何确定 Akka bytestring 是否包含给定的子字符串?

java - JMS 与 akka 和多线程

amazon-web-services - 负载均衡器会泛滥吗?

java - 对象测试不是 org.elasticsearch 包的成员

arrays - 在 foldLeft 中递增变量

scala - 如何通过组合其他对象的 API 来创建 API Facade?

scala - 您将如何 "connect"许多独立图保持它们之间的背压?

tomcat - 访问负载平衡 tomcat 后面的特定服务器

php - Drupal负载平衡