dengan HAProxy
Abdurachim, S. Kom
SMK Informatika AL-Irsyad Kota Cirebon
Load Balancing
salah satu metode untuk
mendistribusikan traffic ke
beberapa server agar
tidak membebani satu
server saja sehingga
kinerja server menjadi
seimbang dan
menghindari terjadinya
overload.
03/02/2023 2
HAProxy
HAProxy atau High Availability Proxy adalah open source TCP
dan HTTP load balancer dan proxy server software. HAProxy
ditulis dalam bahasa C oleh Willy Tarreau yang didukung oleh
SSL, keep-alive custom log format, dan header writing.
HAProxy adalah salah satu software yang cepat dan telah
digunakan oleh website terkenal, seperti Github, StackOverflow,
Reddit, Tumblr, dan Twitter. HAProxy kini termasuk dalam salah
satu load balancer populer saat ini.
03/02/2023 3
Konsep HAProxy
HAProxy dapat berjalan pada
2 mode; TCP layer 4 dan
HTTP layer 7. Pada TCP
layer 4, HAProxy melakukan
forward RAW packet TCP
dari client ke application
server. Pada HTTP layer 7,
HAProxy melakukan parsing
HTTP Header sebelum
melakukan forwarding ke
application server.
03/02/2023 4
Algoritma
Ada beberapa algoritma yang digunakan oleh HAProxy dalam menerima permintaan pengunjung:
Roundrobin
Algoritma yang paling sederhana, HAProxy akan mengambil dan menyeimbangkan source setara
pada server yang tersedia.
Lastconn
Jika ada koneksi akan ditangani oleh backend server dengan jumlah koneksi paling sedikit, atau
sederhananya HAProxy akan mengambil jumlah koneksi yang paling sedikit.
Source
IP client akan di-hash agar dapat menentukan server backend yang menerima permintaan terakhir
dari IP pengunjung tersebut. Jadi, jika ada pengunjung melakukan request nantinya akan diterima
oleh salah satu server secara bertahap, tidak dipindah-pindah sesinya sampai sesi tersebut
berakhir.
03/02/2023 5
1. Persiapan server
Gunakan 3 server / VM yang saling terkoneksi, misalnya:
VM-1 : 40.40.40.10 (sebagai server Haproxy)
VM-2 : 40.40.40.20 (sebagai node web server 1)
VM-3 : 40.40.40.30 (sebagai node web server 2)
03/02/2023 6
2. Konfigurasi VM-1 sebagai server Haproxy
Sebelum melakukan instalasi Haproxy, terlebih dahulu update
repository debian, dengan cara: # apt update -y
Di sini saya sudah menambahkan repository debian indonesia dari
internet
Selanjutnya lakukan instalasi pake HAProxy dengan cara
# apt install haproxy -y
03/02/2023 7
Setelah proses instalasi haproxy selesai, tambahkan IP dari
masing-masing web server dengan cara # nano /etc/hosts
03/02/2023 8
Langkah selanjutnya, melakukan konfigurasi
load balancer pada file haproxy.cfg. Buka
file tersebut dengan perintah:
# nano /etc/haproxy/haproxy.cfg
Tambahkan Haproxy listener pada bagian
bawah file config:
frontend front-loadbalance
Bind 40.40.40.10:80
mode http
default_backend back-loadbalance
03/02/2023 9
2.6 Tambahkan konfigurasi backend server pada bagian
bawah:
backend back-loadbalance
balance roundrobin
server web-server1 40.40.40.20 check port 80
server web-server2 40.40.40.30 check port 80
03/02/2023 10
2.7 Tambahkan enable stat untuk monitoring status load
balancing:
listen stats
Bind 40.40.40.10:8080
stats enable
stats hide-version
stats refresh 30s
stats show-node
stats auth username:password
stats uri /stats
Save, kemudian cek status HAproxy > systemctl restart haproxy.service
03/02/2023 11
03/02/2023 12