липкость липкая: cookie против палки - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть haproxy (1.6.3), балансирующий между серверами rails. Я реализовал липкость с 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 %}

(Я копирую / вставляю из шаблона соли: последняя строка означает, что полное имя каждого сервера используется в качестве имени сервера и значения cookie).

Кажется, это работает. Но я читал, что cookie (и appsession, который я не использую) устарели в пользу stick-table.

Помимо будущей совместимости использования текущих наборов функций, есть ли причина в производительности для изменения этого приоритета? Или я пропустил что-то в тестировании? Или это просто то, что с точки зрения разработки имеет больше смысла для haproxy двигаться в этом направлении, и поэтому я должен следовать, прежде чем я получу версию haproxy, которая больше не поддерживает cookie, но в остальном все хорошо?

1 Ответ

0 голосов
/ 06 мая 2019

Похоже, вы используете ключевое слово cookie для прокси и серверов .Для этих контекстов я не вижу ничего, что указывало бы на то, что ключевое слово * 1006 устарело.Я также не могу найти какую-либо дискуссию в Интернете об этом, поэтому, если вы можете связать статью, обсуждающую это, это было бы очень полезно.Единственный контекст, который я мог найти, где ключевое слово было объявлено устаревшим, это то, что оно было сделано менее двусмысленным для fetching samples ;cookie устарел в пользу req.cook и res.cook.

Для appsession причина его удаления заключается в том, что сценарий использования был слишком узким, и sticktables мог сделать то же самое, ноболее гибким и надежным способом.Из документов :

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.
...