如果 IIS .NET 应用程序服务器,我目前在一组前面使用 HAProxy。出现了一个无法预料的问题:我正在使用 cookie 进行负载平衡,这显然不适用于拒绝使用 cookie 的浏览器(考虑到最近英国 cookie 法的变化,让我们不要在这里强硬地讨论)。
这是我当前的 HAProxy 配置:
listen backend-servers 127.0.0.1:80
cookie bs insert
balance roundrobin
option persist
option redispatch
server appserver1 192.168.0.1:80 cookie bs1
server appserver2 192.168.0.2:80 cookie bs2
我不想重新设计应用程序,所以我想在 HAProxy 中找到解决这个问题的方法。
有几个选项,例如使用源 IP 或 URL 中的字符串进行平衡,但是您可以在 HAProxy 中使用多个方法吗?您可以像这样配置回退方法或替代方法吗?
谢谢
直接引用指南:
如果您谈论的是让您保持在正确服务器上的 cookie……那 100% 属于 A 类。如果您将相同的 cookie 用于其他事情……然后停止它。
更多信息: http: //www.ico.gov.uk/for_organisations/privacy_and_electronic_communications/the_guide/~/media/documents/library/Privacy_and_electronic/Practical_application/cookies_guidance_v3.ashx
该
balance source
算法就是您要寻找的;从使用roundrobin
.如果 cookie 没有被保存,那么 haproxy 将
balance
仅根据您的关键字进行调度,即roundrobin
.