मेरे पास एक सिस्टम है जो एक कुकी के माध्यम से संतुलन को लोड करता है, लेकिन मैं एक विकल्प के रूप में एक URL पैरामीटर का उपयोग करना चाहता हूं। (विशेष रूप से, मेरे पास एक फ्रंट एंड ऐप है जो कुकीज़ का समर्थन नहीं करता है)। मेरा सेटअप थोड़ा जटिल है - मेरे पास एक मल्टीप्लेयर सिस्टम है और मैं इस कुकी के साथ एक स्टिक टेबल का उपयोग करता हूं ताकि यह सुनिश्चित हो सके कि एक ही गेम खेलने वाले विभिन्न लोग एक ही सर्वर पर जाएं। यह महान काम करता है, सिवाय इसके कि 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 पास करना होगा (ताकि टॉमकैट को सही सत्र मिल जाए)। तो मैं कर रहा हूं
यह चिपचिपा सत्र पैरामीटर को गलत सर्वर पर जाने के 50% समय के लिए नहीं लगता है। मैं एक क्वेरी स्ट्रिंग (एक निशान के बाद) के रूप में परम का उपयोग करने की कोशिश की, लेकिन वह भी काम नहीं किया। मैं क्या गलत कर रहा हूं?