Load Balancer #
Ketika satu server tidak lagi cukup untuk menangani trafik yang masuk, solusinya adalah menjalankan beberapa instance aplikasi dan mendistribusikan request di antara mereka. Nginx menangani ini dengan baik melalui blok upstream yang mendefinisikan sekumpulan server backend beserta aturan distribusinya.
Section ini membahas semua algoritma load balancing yang tersedia di Nginx, cara mengkonfigurasi server dengan bobot berbeda, session persistence, dan health check untuk memastikan traffic tidak diarahkan ke server yang sedang down.
Peta Pembelajaran #
flowchart TD
A["⚖️ Round Robin\nDefault — request digilir\nsecara berurutan"] --> B["📊 Least Connections\nRequest ke server\ndengan koneksi paling sedikit"]
B --> C["🔒 IP Hash\nSession persistence —\nIP yang sama ke server yang sama"]
C --> D["🏋️ Weighted\nProporsi traffic dikontrol\nberdasarkan kapasitas server"]
D --> E["🩺 Health Check\nPassive detection kegagalan\ndan failover otomatis"]Artikel di Section Ini #
| Artikel | Algoritma | Kapan Digunakan |
|---|---|---|
| Round Robin | Bergiliran merata | Server kapasitas sama, request serupa |
| Least Connections | Pilih server paling senggang | Request dengan durasi bervariasi |
| IP Hash | Hash dari IP klien | Session persistence di server lokal |
| Weighted | Proporsi berdasarkan bobot | Server dengan kapasitas berbeda, canary deploy |
| Health Check | Passive failure detection | Semua setup production |