Cookieを介して負荷分散を行うシステムがありますが、代わりにURLパラメータを使用したいと考えています。(具体的には、Cookieをサポートしていないフロントエンドアプリがあります)。私の設定は少し複雑です-マルチプレイヤーシステムがあり、このCookieでスティックテーブルを使用して、同じゲームをプレイしている別の人が同じサーバーにアクセスできるようにします。これはうまくいきますが、URLパラメータは何もしないようです。これはすべてhaproxy 1.5dev17で
私の関連するバックエンドは:
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
option http-server-close
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
backend simulate
option httpchk OPTIONS /simulate/api/status
stick-table type string len 40 size 5M expire 30m
stick store-response set-cookie(SIMULATE_STICKY_SESSION) table simulate
stick on cookie(SIMULATE_STICKY_SESSION) table simulate
stick on url_param(SIMULATE_STICKY_SESSION) table simulate
server app1 10.0.2.11:8080 cookie app1 check inter 10000
server app2 10.0.3.11:8080 cookie app2 check inter 10000
SIMULATE_STICKY_SESSIONは私のアプリによって(プレーヤーチームに基づいて)生成されることに注意してください。
URLを呼び出すときに、jsessionidを渡す必要があります(Tomcatが正しいセッションを見つけるため)。だから私はやっている
間違ったサーバーに行く時間の50%として、これはスティッキーセッションパラメータを取得していないようです。(?マークの後の)クエリ文字列としてparamを使用してみましたが、それも機能しませんでした。何が悪いのですか?