HAProxy は、Cookie の変更または挿入をサポートして、cookieパラメータでセッションの永続性を提供します。
backend セクションまたは listen セクションのいずれかに、次を追加します。
cookie COOKIENAME prefix
この例では、サーバーの名前を という名前の Cookie に追加することにより、既存の Cookie を変更しますCOOKIENAME。クライアントには次のようなものが表示さserver1~someotherdataれますが、アプリケーションにはその部分しか表示されませんsomeotherdata。したがって、これを既存の Cookie で使用できます。さらに、この方法では、その Cookie が存在する場合にのみセッションの永続性を強制できます。つまり、サイトの静的部分の周りで人々を均等にバランスさせ、必要なときにのみスティッキーを強制することができますが、その Cookie 名をセッションに追加します。
また、サーバーに名前を付けて、サーバー行が次のようになるようにします。
server server1 1.2.3.4 cookie server1
詳細はHAProxy config guideappsessionにあり、 config パラメータも使用できるようです。
これが完了したら、リストから独自のバランス方法を選択できます。私は使用する傾向がありroundrobinますがleastconn、スティッキー セッションが考慮されると、より良いバランスが得られる可能性があります。
参照セクションを見つけやすくするためのドキュメントの詳細:
cookie <name> [ rewrite | insert | prefix ] [ indirect ] [ nocache ]
[ postonly ] [ preserve ] [ domain <domain> ]*
[ maxidle <idle> ] [ maxlife <life> ]
Enable cookie-based persistence in a backend.
May be used in sections : defaults | frontend | listen | backend
yes | no | yes | yes