Saya memiliki aplikasi yang berjalan pada dua contoh AWS yang berbeda dan saya ingin mengaktifkan sesi "sticky" atau "persistent" berdasarkan IP sehingga saya dapat memanfaatkan teknologi socket web dengan cara tertentu.
Saya memiliki dua pengaturan berbeda yang melibatkan keduanya menggunakan ip_hash
untuk mengaktifkan sesi lengket ini.
Pada pengaturan pertama, proses aplikasi berjalan pada instance yang sama dengan konfigurasi Nginx. Ini bekerja , sesi tetap seperti yang diharapkan.
upstream my_app {
ip_hash;
# local servers
server 127.0.0.1:3001 weight=100 max_fails=5 fail_timeout=300;
server 127.0.0.1:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
Pada pengaturan kedua, saya menunjuk ke instance eksternal dan mencoba untuk mencapai efek yang sama. Pengaturan ini tidak berfungsi . Dengan kata lain, sesi-sesi tersebut masih dimuat dengan seimbang.
upstream my_app {
ip_hash;
# external servers
server 111.11.11.11:3001 weight=100 max_fails=5 fail_timeout=300;
server 222.22.22.22:3002 weight=100 max_fails=5 fail_timeout=300;
keepalive 8;
}
Apakah saya menggunakan ip_hash
dengan benar? Bagaimana saya bisa mengaktifkan sesi berbasis ip "sticky" untuk server eksternal?