Pengenalan HAProxy

High Availability Proxy adalah kepanjangan dari HAProxy sebuah perangkat lunak open source dibawah GPLv2 license. HAProxy digunakan untuk membagi beban request atau load balancer TCP/HTTP dan solusi proxy yang dapat dijalankan di sistem operasi Linux, Solaris, dan FreeBSD.

Pembagian bebannya pun beragam sesuai dengan algoritma yang ada. HAProxy sudah umum digunakan untuk meningkatkan kinerja dan kehandalan sebuah server dengan mendistribusikan beban kerja dari beberapa server lain seperti web server, database server, smtp server dan yang lainnya.

Fitur HAProxy

HAProxy mempunyai banyak fitur yang dapat digunakan sesuai dengan kebutuhan Anda diantaranya sebagai berikut:

Haruskah Menggunakan HAProxy?

Jika Anda ingin mempunyai sebuah website dengan high availability yang tinggi Anda dapat memanfaatkan HAProxy.

Karena HAProxy khusus digunakan untuk high performance, reliable, mature, dan selain itu banyak fitur pendukung yang dapat dimanfaatkan.

Selain fitur terdapat beberapa variasi yang dapat Anda terapkan di HAProxy Anda dapat berfokus pada besaran request rate, berapa konkuren requst, penggunaan bandwith dan SSL.

Manfaat lainnya yang akan didapatkan jika Anda menggunakan HAProxy adalah Anda akan mendapatkan impact yang besar dalam performa namun kecil dalam penggunaan resource.

Dengan demikian apakah Anda harus menggunakan HAProxy?

Semua bergantung dengan kebutuahn Anda masing - masing. Jika website Anda hanya perlu berjalan tanpa high availability Anda tidak perlu menggunakan HAProxy sebaliknya jika website Anda high availability Anda dapat menggunakan HAProxy.

Bagaimana Cara Kerja Load Balancer HAProxy

Load Balancer menggunakan HAProxy bekerja sesuai dengan algoritma yang ditentukan. Terdapat 3 algoritma yang dapat digunakan diantaranya:

1. Roundrobin

Algoritma Roundrobin salah satu algoritma default yang umum digunakan, cara kerjanya yaitu memilih secara bergantian antara host 1 dengan bost 2 dan seterusnya apabila terdapat request dari client.

2. Leastconn

Jika Anda menggunakan algoritma Lestconn maka Anda dapat menentukan host mana yang akan menjadi beban atau tumpuan bila terdapat request dari client. Namun di sisi Backend Anda masih dapat menggunakan algoritma roundrobin.

3. Source

Algoritma Source adalah salah satu metode yang dapat digunakan untuk memastikan bahwa pengguna akan terhubung ke server yang sama. Anda dapat memilih berdasarkan hash dari IP sumber yaitu alamat IP pengguna (Client).

Berikut ini merupakan perbedaan menggunakan Load Balancer atau tanpa Load Balancer. Perhatikan topologi berikut:

Tanpa Load Balancer

Pada topologi diatas terdapat user mengakses web server Anda, namun web server dan database server Anda berjalan bersama di dalam satu server tanpa load balancer.

Jika server tersebut mati (down) maka user tidak akan dapat mengakses webserver Anda kembali dan sudah dapat dipastikan website Anda down.

Selain itu, jika banyak pengguna mencoba mengakses server Anda secara bersamaan dan server overload (karena tidak ada load balancer), maka sudah dapat dipastikan website Anda akan terasa lambat dan bahkan tidak terhubung sama sekali.

Jika Anda menggunakan Load Balancer pada server terdapat 2 layer yang dapat Anda terapkan diantaranya:

Menggunakan Load Balancer

Pada topologi diatas setiap client mengakses website Anda (domainanda.com) maka akan di handle dengan Load Balancer tidak langsung ke web server dengan demikian bila web-1 down masih ada web-2 yang akan menghandle (domaianda.com) dan website tidak akan down. Namun pastikan juga semua web-1 dan web-2 mempunyai content yang sama dan terhubung ke server database.

Sekian panduan terkait pengenalan dasar Load Balancer !

See You >.<