Cara Setting Load Balancing dengan HAProxy

Cara Setting Load Balancing dengan HAProxy

HAProxy adalah perangkat lunak open source yang berfungsi sebagai load balancing dan proxy untuk TCP dan HTTP. Load balancing adalah metode untuk mendistribusikan atau membagikan trafik ke beberapa server.

Topologi Load Balancing
Topologi Load Balancing

0.Perangkat yang digunakan

Perangkat yang digunakan di tutorial ini:

  • OS Ubuntu 18.04 LTS
  • HAProxy
  • Nginx web server
  • PHP-FPM 7.2
  • Node1: 10.130.127.167
  • Node2: 10.130.128.35
  • LoadBalancer: 128.199.187.215
  • Domain: defnex.com

Node1 dan Node2 sudah terinstall Nginx web server dan PHP-FPM 7.2. Masing-masing node dibuatkan file index.php yang berisi tulisan node1 dan node2 sebagai halaman pengujian untuk mengetahui halaman yang ditampilkan berasal dari node yang mana.

1.Install HAProxy

Update dan install HAProxy.

2.Konfigurasi HAProxy

Buka file konfigurasi HAProxy.

File konfigurasi default dari haproxy.cfg.

Tambahkan konfigurasi untuk HAProxy listener.

Tambahkan konfigurasi untuk backend web server.

Konfigurasi tambahan untuk statistik HAProxy.

Hasil akhir konfigurasi HAProxy secara lengkap.

Verifikasi konfigurasi dan restart HAProxy.

3.Pengujian

Browse domain, refresh halaman berulang kali sampai menampilkan file index.php dari Node1 dan Node2.

Halaman index.php dari Node1
Halaman index.php dari Node1
Halaman index.php dari Node2
Halaman index.php dari Node2

4.Statistik

Browse http://domain.com:1234/stats untuk membaca statistik HAProxy.

Statistik HAProxy
Statistik HAProxy

Selamat mencoba 🙂

14 Comments

  1. permisi mas amin, mau nanya untuk konfigurasi HAProxy tcp bagaimana ya mas? saolnya kebanyakan tutorial yang saya liat hanya http dan saya coba oprec malah ada warning seperti ini mas

    [WARNING] 351/052438 (5062) : parsing [/etc/haproxy/haproxy.cfg:46] : backend ‘broker_server’ : ‘option tcplog’ directive is ignored in backends.
    [WARNING] 351/052438 (5062) : config : ‘stats’ statement ignored for proxy ‘stats’ as it requires HTTP mode.
    Configuration file is valid

    terimakasih mas mohon bantuannya dari mahasiswa pejuang skripsi

  2. Sangat membantu…tp untuk implementasi di Laravel masih agak bingung soalnya pas di coba langsung kehabisan session..masih coba ngulik2.

  3. mas musa mohon pencerahannya…..? kalo node1 dan node2 nya biar isi nya sama ketika client di akses bagaimana cara nya ya menggunakan metode apa? glusterfs kah atau ada yg lebih bagus? mohon tutor dan pencerahannya nya untuk glusterfs server node1, node2 dll mas musa??

  4. pak musa mau tanya, kalau ingin menambahkan stats untuk melakukan pengecekan statistikanya tapi belum memiliki domain itu caranya giamana pak? dan kalau dibuat secara lokal apa bisa dicek statistikanya pak? terima kasih pak musa

  5. Untuk server moodle ada 3 server dengan database di masing2 server, itu mode algortima loadbalance nya yg bagus pake apa ya mas ?

    • coba pakai IP Hash. permintaan dari alamat IP tertentu akan selalu dikirim ke server yang sama berdasarkan hash dari alamat IP tersebut. berfungsi untuk menjaga session pengguna tetap pada server tertentu untuk konsistensi.

  6. mau tanya bang,
    pakai freebsd (1 IP Public) dengan 2 jail di dalamnya, sebut saja jail1 di 192.168.0.1 dan jail2 di 192.168.0.2 (pakai lo1)

    ane ada 2 (sub)domain sebut saja satu.domain.tld dan dua.domain.tld

    gimana ya cara menghubungkan supaya satu.domain.tld mengarah ke jail1, dan dua.domain.tld mengarah ke jail2?

    terima kasih sebelumnya bang.

Leave a Reply

Your email address will not be published. Required fields are marked *