我创建了一个使用tomcat服务器并在8080侦听的简单服务。
docker swarm init
我在node1创建了一个节点管理器。
docker swarm join /tokens
我使用节点2和节点3的经理提供的令牌来创建工作人员。
docker node ls
显示我的服务的5个实例,3个在节点1运行,1个在节点2运行,另一个在节点3。
docker service create image
我创建了这项服务。
docker service scale imageid=5
缩放它。
我的应用程序使用在JVM级别维护的原子序数。
如果我点击http://node1:8080/service
25次,则所有请求都会转到node1。它如何平衡节点?
如果我点击http://node2:8080/service
,它会进入节点2.
为什么不使用循环法?
疑惑:
http://domain:8080/service
一样,然后swarm将以循环方式工作。我只想了解群模式。到目前为止,我对外部负载均衡器不感兴趣。
如何查看群体负载均衡?
答案 0 :(得分:1)
Docker对端口的每个连接进行循环负载平衡。只要连接已启动,它就会继续转到同一个实例。
Http允许连接保持活动并重用。浏览器利用此行为通过保持连接打开来加速以后的请求。要测试循环负载平衡,您需要禁用保持活动设置或切换到curl或wget等命令行工具。