使用Chrome进行Docker Swarm负载平衡测试
我试过像中一样做简单的单节点swarm,我发现如果我使用curl,那么我会在两个副本之间跳跃,但是如果我使用Chrome,那么一旦我打开页面,接下来的任何请求都将由同一个副本处理。我确信我实际上只击中它一次,因为计数器只增加1使用Chrome进行Docker Swarm负载平衡测试,docker,docker-swarm,Docker,Docker Swarm,我试过像中一样做简单的单节点swarm,我发现如果我使用curl,那么我会在两个副本之间跳跃,但是如果我使用Chrome,那么一旦我打开页面,接下来的任何请求都将由同一个副本处理。我确信我实际上只击中它一次,因为计数器只增加1 发生了什么事?这是Docker Swarm负载平衡中的某种功能吗?如果是,它将如何工作?没有向服务器发送特定的请求头,因此负载平衡器如何识别我?它不可能是IP,因为如果我使用隐姓埋名模式,我将由不同的副本处理,并且只要我使用隐姓埋名模式,我就会坚持使用它。这不是群集,而是
发生了什么事?这是Docker Swarm负载平衡中的某种功能吗?如果是,它将如何工作?没有向服务器发送特定的请求头,因此负载平衡器如何识别我?它不可能是IP,因为如果我使用隐姓埋名模式,我将由不同的副本处理,并且只要我使用隐姓埋名模式,我就会坚持使用它。这不是群集,而是chrome。Curl的行为与您预期的一样,每个命令都是一个新的TCP请求,显示为通过Swarm VIP负载平衡器的新连接
Chrome(和其他浏览器)有很多方法来保持TCP连接为将来的请求打开(,等等)。这就是它将保持连接到同一容器的原因,因为通过LB到复制副本的连接是持久的。对于新连接,LB将只切换到“循环池中的下一个连接”。curl命令的细节如何?下载整个页面时,
wget
会发生什么情况…