
Daftar Isi
Pernahkah Anda mengalami situasi di mana aplikasi web tiba-tiba down hanya karena terlalu banyak pengguna yang mengakses dalam waktu bersamaan? Atau mungkin Anda ingin menyiapkan sistem yang lebih stabil, tetapi bingung bagaimana cara mendistribusikan trafik agar tidak menumpuk di satu server saja? Bagi banyak pemula, membuat load balancer terdengar rumit, padahal sebenarnya bisa dimulai dengan langkah yang sangat sederhana.
Salah satu solusi paling populer dan ringan adalah HAProxy, sebuah tool handal yang digunakan perusahaan besar untuk mendistribusikan trafik ke beberapa server backend. Banyak orang merasa kesulitan saat pertama kali mencoba — mulai dari konfigurasi awal, memilih mode yang tepat, hingga memastikan semua server bekerja secara seimbang.
Apa Itu HAProxy dan Mengapa Penting?
HAProxy (High Availability Proxy) adalah perangkat lunak open-source yang berfungsi sebagai load balancer dan reverse proxy. HAProxy dapat mendistribusikan trafik ke beberapa server backend sehingga:
- Server tidak gampang overload
- Aplikasi lebih responsif
- Sistem tetap berjalan meskipun salah satu server mengalami gangguan (high availability)
Langkah-langkah Membuat Load Balancer Sederhana dengan HAProxy di Linux
Tutorial ini bisa diaplikasikan di distro Debian/Ubuntu maupun CentOS/RHEL dengan sedikit penyesuaian.
1. Install HAProxy
Debian/Ubuntu
sudo apt update
sudo apt install haproxy -yCentOS/RHEL
sudo yum install haproxy -y Setelah selesai, cek status:
systemctl status haproxy2. Menyiapkan Server Backend
Anda membutuhkan minimal dua server backend — misalnya:
- 192.168.1.101 (web1)
- 192.168.1.102 (web2)
Pastikan keduanya menjalankan web server sederhana (nginx, apache, atau apa pun).
Anda bisa mengujinya menggunakan:
curl http://192.168.1.101
curl http://192.168.1.1023. Backup dan Edit Konfigurasi HAProxy
Konfigurasi utama berada di:
/etc/haproxy/haproxy.cfgBackup dulu:
sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backupLalu buka file:
sudo nano /etc/haproxy/haproxy.cfg4. Tambahkan Konfigurasi Load Balancer
Ini contoh konfigurasi load balancer HTTP sederhana:
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server web1 192.168.1.101:80 check
server web2 192.168.1.102:80 checkPenjelasan:
- frontend: bagian ini menangani request dari pengguna.
- bind *:80: HAProxy mendengarkan port 80.
- default_backend: request dialihkan ke backend yang ditentukan.
- backend: tempat Anda mendefinisikan server backend.
- balance roundrobin: membagi trafik satu per satu secara merata.
- check: mengaktifkan health check agar HAProxy tidak mengirim trafik ke server yang mati.
5. Restart HAProxy
Setelah konfigurasi disimpan:
sudo systemctl restart haproxy
sudo systemctl enable haproxyCek apakah berjalan normal:
sudo systemctl status haproxy6. Uji Load Balancer
Coba akses IP load balancer:
curl http://IP-LOAD-BALANCER Coba beberapa kali — jika backend Anda menampilkan halaman yang berbeda (misalnya tulisan “Server 1” dan “Server 2”), Anda akan melihat trafik berpindah sesuai round robin.
Anda juga bisa melakukan stress test kecil:
for i in {1..10}; do curl -s http://IP-LOAD-BALANCER | grep Server; done7. Opsional: Aktifkan Dashboard Monitoring HAProxy
ambahkan pada bagian listen di file haproxy.cfg:
listen stats
bind :8181
stats enable
stats uri /stats
stats refresh 5sRestart HAProxy dan akses:
http://IP-LOAD-BALANCER:8181/stats
Anda akan melihat dashboard sederhana untuk memantau kondisi server backend.
Sekarang Anda sudah berhasil membuat load balancer sederhana menggunakan HAProxy di Linux, lengkap dengan konfigurasi frontend dan backend, metode distribusi trafik, hingga dashboard monitoring. Dengan konfigurasi ini saja, aplikasi Anda sudah jauh lebih stabil, skalabel, dan siap menampung lebih banyak pengguna
