Nginx menyediakan beberapa jenis load balancing yang dapat Anda gunakan tergantung pada kebutuhan Anda. Berikut adalah beberapa jenis load balancing yang didukung oleh Nginx:1. Round Robin (default): Metode ini mendistribusikan permintaan secara bergantian ke setiap backend yang tersedia. Setiap permintaan diteruskan ke server backend berikutnya dalam daftar.Contoh konfigurasi:
upstream backend {
server backend1;
server backend2;
}
2. Least Connections: Metode ini mendistribusikan permintaan ke server backend yang memiliki jumlah koneksi terendah pada saat itu. Ini memastikan bahwa beban dibagi secara merata berdasarkan beban aktual pada server backend.Contoh konfigurasi:upstream backend {
least_conn;
server backend1;
server backend2;
}
3. IP Hash: Metode ini menggunakan alamat IP client untuk menghitung hash dan mendistribusikan permintaan ke server backend yang sesuai. Ini memastikan bahwa permintaan dari IP yang sama selalu diteruskan ke server backend yang sama, yang berguna dalam beberapa skenario, seperti pengaturan sesi.Contoh konfigurasi:upstream backend {
ip_hash;
server backend1;
server backend2;
}
4. Least Time: Metode ini memilih server backend berdasarkan waktu respons yang paling rendah. Nginx akan mengukur waktu respons dari setiap server backend dan memilih yang memiliki waktu respons terendah untuk meneruskan permintaan selanjutnya.Contoh konfigurasi:upstream backend {
least_time header;
server backend1;
server backend2;
}
5. Hash: Metode ini memungkinkan Anda menggunakan kunci hash kustom, seperti URI atau variabel, untuk mendistribusikan permintaan ke server backend. Setiap kunci hash akan secara konsisten diteruskan ke server backend yang sama.Contoh konfigurasi:upstream backend {
hash $request_uri consistent;
server backend1;
server backend2;
}
Anda dapat memilih jenis load balancing yang paling sesuai dengan kebutuhan aplikasi Anda berdasarkan karakteristik dan persyaratan yang Anda miliki.