chi*_*kar 7 load-balancing docker wildfly docker-swarm docker-swarm-mode
我有一个基于Java的Web应用程序部署在jboss-10.1.0(wildfly).我正在使用docker swarm模式(docker版本1.12.1)扩展我的应用程序一切正常,但我面临的唯一问题是会话管理.
现在让我们来看看情景.
我有两个实例正在运行我的应用程序(即App1和App2).我使用docker swarm模式提供的默认负载均衡器nginx来重定向我的应用程序chintan.test.com:9080,chintan.test.com:80以便我不需要用我的url写下端口,我能够直接使用此URL访问chintan.test.com.
现在,默认的负载均衡器正在使用RR(Round-Robin algorithm)来提供我的Web请求.所以我第一次访问chintan.test.com它时会转到App1实例并显示登录页面我使用凭据登录,一切都运行完美,几分钟后它又切换到App2登录页面来了.
有没有办法或工具(应该是开源的)我通过它来处理会话?所以至少我登录App1并坚持到App1我退出为止.
谢谢!
Docker swarm 目前不支持粘性会话,循环是通过暴露端口访问服务的唯一方法。
要实现粘性会话,您需要在 docker 内部实现一个反向代理,它支持粘性会话并通过容器 ID 直接与容器通信(而不是对服务名称进行 DNS 查找,这将再次进行循环加载平衡器)。实现该负载均衡器还需要您实现自己的服务发现工具,以便它知道哪些容器可用。
| 归档时间: |
|
| 查看次数: |
4290 次 |
| 最近记录: |