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