Tôi có một hệ thống cân bằng tải thông qua cookie, nhưng tôi muốn sử dụng tham số URL thay thế. (Cụ thể, tôi có một ứng dụng giao diện người dùng không hỗ trợ cookie). Thiết lập của tôi hơi phức tạp - Tôi có một hệ thống nhiều người chơi và tôi sử dụng một bảng dính với cookie này để đảm bảo những người khác nhau chơi cùng một trò chơi sẽ đến cùng một máy chủ. Điều này hoạt động rất tốt, ngoại trừ việc các tham số URL dường như không làm gì cả. Đây là tất cả với haproxy 1.5dev17
Phụ trợ có liên quan của tôi là:
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
Lưu ý rằng SIMULATE_STICKY_SESSION được tạo bởi ứng dụng của tôi (dựa trên nhóm người chơi).
Khi tôi gọi URL, tôi cần phải vượt qua jsessionid (để Tomcat sẽ tìm đúng phiên). Tôi đang làm
Điều này dường như không chọn tham số phiên dính vì 50% thời gian nó đến máy chủ sai. Tôi đã thử sử dụng param làm chuỗi truy vấn (sau dấu?) Nhưng nó cũng không hoạt động. Tôi đang làm gì sai?