Press ESC to close

Membuat Load Balancer Sederhana dengan HAProxy di Linux

WhatsAppTelegramFacebookXThreadsCopy Link

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 -y

CentOS/RHEL

sudo yum install haproxy -y  

Setelah selesai, cek status:

systemctl status haproxy

2. 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.102

3. Backup dan Edit Konfigurasi HAProxy

Konfigurasi utama berada di:

/etc/haproxy/haproxy.cfg

Backup dulu:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup

Lalu buka file:

sudo nano /etc/haproxy/haproxy.cfg

4. 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 check

Penjelasan:

  • 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 haproxy

Cek apakah berjalan normal:

sudo systemctl status haproxy

6. 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; done

7. Opsional: Aktifkan Dashboard Monitoring HAProxy

ambahkan pada bagian listen di file haproxy.cfg:

listen stats
    bind :8181
    stats enable
    stats uri /stats
    stats refresh 5s

Restart 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

WhatsAppTelegramFacebookXThreadsCopy Link