代码之家  ›  专栏  ›  技术社区  ›  prostynick

基于Chrome的Docker Swarm负载均衡测试

  •  0
  • prostynick  · 技术社区  · 7 年前

    我试过做简单的单节点群 Docker tutorial part 3 我发现如果我使用curl,那么我会在两个副本之间跳转,但是如果我使用Chrome,那么一旦我打开页面,下面的任何请求都将由同一个副本处理。我确定我只打了一次,因为计数器只增加1。

    怎么回事?这是Docker Swarm负载平衡的一种功能吗?如果是的话,它将如何工作?没有特定的请求头发送到服务器,所以负载平衡器如何识别我?它不可能是IP,因为如果我使用隐名模式,我将被不同的副本处理,我将坚持它,只要我在隐名。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Bret Fisher    7 年前

    不是蜂群,而是铬合金。Curl的行为与您预期的一样,每个命令都是一个新的TCP请求,显示为一个通过Swarm VIP负载均衡器的新连接。

    Chrome(和其他浏览器)有很多方法可以为将来的请求保持TCP连接打开( HTTP keep-alives 等等)。这就是为什么它将保持与同一个容器的连接,因为该连接通过LB持久地连接到复制副本。LB只会切换到“循环池中的下一个”进行新连接。