haproxy粘性:曲奇与棒桌

时间:2019-04-30 10:50:26

标签: haproxy

我在rails服务器之间有一个haproxy(1.6.3)平衡。我用cookie实现了粘性:

backend railswebapp-backend
    balance roundrobin
    mode http
    redirect scheme code 301 https if !{ ssl_fc }
    cookie SERVER_NAME insert
{% for backend_fqdn in backend_fqdns %}
    server {{ backend_fqdn }} {{ backend_fqdn }}:443 ssl cookie {{ backend_fqdn }} check
{% endfor %}

(我正在复制/粘贴盐模板:最后一行仅表示将每台服务器的FQDN用作服务器名称和cookie值。)

这似乎有效。但是我已经阅读过不赞成使用cookie(以及我未使用的appsession),而推荐使用stick-table。

除了使用当前功能集的将来兼容性之外,是否还有性能上的理由优先考虑更改此功能集?还是我错过了一些测试?还是从开发的角度来看,haproxy朝这个方向发展更有意义,所以我应该遵循一个不再支持cookie的haproxy版本,否则一切都很好?

1 个答案:

答案 0 :(得分:0)

您似乎为proxiesservers使用了cookie关键字。在这些情况下,我看不到任何表明cookie关键字将被弃用的信息。我也找不到关于它的在线讨论,因此,如果您可以链接讨论它的文章,那将非常有帮助。我只能找到不推荐使用该关键字的地方,这是因为fetching samples的含糊性降低了;不推荐使用cookie,而推荐使用req.cookres.cook

对于appsession来说,删除它的原因是用例太窄,可粘贴式表可以做同样的事情,但是方式更灵活,更健壮。来自docs

As of version 1.6, appsessions was removed. It is more flexible and more
convenient to use stick-tables instead, and stick-tables support multi-master
replication and data conservation across reloads, which appsessions did not.