Apa itu Load Balancing ??
Load balancing adalah konsep untuk menyeimbangkan beban pada infrastruktur teknologi informasi pada sebuah perusahaan atau instansi. agar seluruh departemen dapat memanfaatkan secara maksimal dan optimal. Jika skala jaringan makin besar maka semakin besar pula traffic yang didapatkan dan Load Balancing berguna sebagai penyeimbang beban apabila traffic semakin tinggi.
Salah satu solusi untuk Load Balancing yaitu HAProxy. HAProxy banyak digunakan karena cukup handal. Cara kerja HAProxy yaitu mendistribusikan traffic data ke berbagai server agar tidak terpusat sehingga tidak membebani.
Apa itu HAProxy ??
HAProxy sama seperti dengan Heartbeat hanya saja pada heartbeat tidak ada fasilitas berupa fitur Statistik menggunakan webbased html.
Pada dasarnya HAProxy sendiri memiliki beberapa fitur yaitu :
- Merupakan loadbalancing yang dapat dibuat master dan slave load balancing, sehingga apabila load balacing utama gagal/fail, maka load balancing cadangan dapat otomatis bekerja.
- Support loadbalancing untuk beberapa server
- Health status, untuk cek status server, yaitu Jika server dalam datacenter mati, maka trafik ke server tersebut otomatis dihentikan
- Dapat untuk loadbalancing aplikasi yang tidak support loadbalancing, maksudnya adalah aplikasi yang mengatur sesi user di server bersangkutan seperti ecommerce, shopping, dll
- Ada statistik yang mudah dibaca
Bisakah SMTP dibuat Load Balancing ??
Tentu saja bisa, HAProxy bukan saja bisa memberikan load balancing untuk web server saja seperti apache, akan tetapi untuk aplikasi SMTP seperti Postfix pun bisa, dalam tulisan ini saya menggunakan Linux SLES 11 SP3 sebagai uji coba.
Topologi
Instalasi HAProxy
Pada SLES, paket HAProxy terdapat pada repository yang ada pada http://software.opensuse.org/search. Caranya buka website tersebut lalu ketikkan paket yang akan di install (HAProxy). Pilih salah satu repositrory yang ada. kemudian tambahkan ke SLES. Masukkan perintah berikut :
zypper ar http://download.opensuse.org/repositories/home:/KGronlund/SLE_11_SP3/ haproxy zypper ref zypper in haproxy
Instalasi & Konfigurasi HAProxy Server
Setelah di install, HAProxy harus di konfigurasi. File konfigurasi HAProxy terdapat pada direktori “/etc/haproxy/haproxy.cfg“, Berikut konfigurasi yang ada pada file tersebut :
# this config needs haproxy-1.1.28 or haproxy-1.2.1 global user daemon group daemon daemon log 127.0.0.1 daemon maxconn 4096 chroot /var/lib/haproxy defaults log global retries 2 timeout connect 3000 timeout server 5000 timeout client 5000 frontend ft_smtp bind 0.0.0.0:25 mode tcp no option http-server-close timeout client 1m log global option tcplog default_backend bk_postfix backend bk_postfix mode tcp no option http-server-close log global option tcplog timeout server 1m timeout connect 5s server postfix1 192.168.100.121:25 check server postfix2 192.168.100.122:25 check
Instalasi & Konfigurasi SMTP Server
Install SMTP server dalah hal ini saya menggunakan postfix sebagai SMTP Server.
zypper in postfix
Buka “/etc/postfix/main.cf“, lalu edit skrip berikut :
inet_interfaces = localhost
Ubah menjadi :
inet_interfaces = all
Fungsinya agar semua interface yang terhubung pada Server SMTP dapat mengakses server SMTP. Setelah selesai Restart Service Postfix.
service postfix restart
Uji Coba
Akses IP Haproxy dengan port 25 menggunakan telnet untuk mengecek apakah sudah terhubung atau belum :
Loh ko Hostnamenya beda???, Hostname nya memang sengaja dibedakan untuk membuktikan apakah Load Balancing sudah berjalan dengan semestinya. Semoga bermanfaat :-).
Bagaimana ya caranya untuk mengirm email melalui php atau bahasa pemrograman lain?
jadi topoliginya -> client -> webserver (recive message) -> haproxy -> mail server?