Apache Load Balancer Di Centos 6

Posted by


Secara harfiah, Load Balancing adalah pembagian beban secara seimbang sedangkan dalam bidang komputer, load balancing merupakan proses distribusi beban terhadap sebuah service yang ada pada sekumpulan sever atau perangkat jaringan ketika ada permintaan dari pengguna. Tujuan dari load balancing adalah untuk mendapatkan pemanfaatan sumber daya yang optimal, memaksimalkan throughput dan meminimalkan waktu respon.
Secara singkat cara kerja load balancing adalah jika ada satu server yang tidak mampu menangani sebuah request atau apabila ada server yang sibuk karena terlalu banyak request dari client, maka digunakan server yang lain yang tergabung dalam load balancing. Maka dari itu, agar bisa membuat load balancing, diperlukan minimal 2 buah server atau perangkat jaringan.

Load balancing bisa digunakan untuk aplikasi di server atau bandwidth di router, namun artikel kali ini akan lebih banyak menerangkan tentang load balancing di server. Di server pun, load balancing banyak digunakan untuk beberapa aplikasi namun yang sering dipergunakan adalah load balancing untuk web server. Lokasi load balancer berada di depan server-server yang akan dijadikan cluster seperti yang terlihat pada gambar berikut:






II. Apache Load Balancer

Ada banyak aplikasi yang dipergunakan untuk menggunakan load balancing untuk web server, diantaranya adalah aplikasi apache balancer. Sebenarnya aplikasi ini merupakan modul bawaan apache sehingga tidak perlu untuk mendownload karena ketika kita sudah mendownload apache maka secara otomatis modul balancer sudah turut terinstal dalam sistem. Untuk menggunakan modul balancer, pastikan 3 modul balancer yang berada di file httpd.conf tidak di disable:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Kemudian pastikan juga fitur proxy yang berada di file httpd.conf didisable seperti contoh berikut:

ProxyRequests Off

<Proxy \*>
Order deny,allow
Deny from all
</Proxy>

Kemudian kita masuk ke konfigurasi inti dari apache load balancer yang diletakkan di bagian akhir dari file httpd.conf. Konfigurasi inti dari apache load balancer berformat sebagai berikut: 

<Proxy balancer://A_name_signifying_your_app>

BalancerMember http://ip_address:port/ loadfactor=appropriate_load_factor # Balancer member 1
BalancerMember http://ip_address:port/ loadfactor=appropriate_load_factor # Balancer member 2
ProxySet lbmethod=the_Load_Balancing_algorithm
</Proxy>

Untuk memudahkan pemahaman, penulis akan memberikan contoh dengan menggunakan 3 web server yang masing-masing isi dari file index.html adalah Ini Website A (192.168.56.102), B (192.168.56.103), dan C (192.168.56.104). Kemudian kita buat Load Balancer di IP 192.168.56.101 dengan nama latihanlinux.co.cc. Untuk sementara kita akan mencoba menggunakan load balancer agar masing-masing web server mempunyai beban yang sama, maka di file httpd.conf kita tuliskan script sebagai berikut:

<Proxy balancer://clusterABC>

BalancerMember http://192.168.56.102
BalancerMember http://192.168.56.103
BalancerMember http://192.168.56.104
Order allow,deny
Allow from all
</Proxy>

ProxyPass / balancer://clusterABC/

Sekarang kita akan mencobanya dengan memanggil situs latihanlinux.co.cc tetapi sepertinya agak melelahkan kalau kita buka satu persatu. Maka penulis menggunakan perintah repeat yang digunakan untuk mengulang perintah sebanyak 12 kali:

# repeat 12 lynx --source http://latihanlinux.co.cc




Terlihat bahwa Load Balancer membagi beban sama rata ke seluruh server. Kemudian kita ingin agar server C mempunyai beban 3x lebih banyak dari kedua server yang lain, server B mempunyai beban 2x lebih banyak dari server A, maka di file httpd.conf ditambahkan load factor seperti contoh berikut:

<Proxy balancer://clusterABC>

BalancerMember http://192.168.56.102 loadfactor=1
BalancerMember http://192.168.56.103 loadfactor=2
BalancerMember http://192.168.56.104 loadfactor=3
Order allow,deny
Allow from all
</Proxy>

ProxyPass / balancer://clusterABC/

Maka jika kita menggunakan perintah repeat, hasilnya akan seperti berikut:




Terlihat bahwa server C mendapat 6 request, server B mendapat 4 request dan server A mendapat 2 request. Dan perlu juga diketahui bahwa ada 2 metode yang sering dipergunakan di dalam apache load balancer yaitu metode bytraffic dan byrequest. Secara default,apache load balancer menggunakan metode byrequest. Metode request mendistribusikan beban kerja berdasarkan request yang ditentukan oleh nilai dari loadfactor, sedangkan metode bytraffic hampir sama dengan byrequest hanya saja metode bytraffic melihat jumlah byte dibandingkan dengan jumlah request. Jika kita ingin mengaplikasikan metode byrequest bisa dilihat dari contoh berikut:

<Proxy balancer://clusterABC>

BalancerMember http://192.168.56.102 loadfactor=1
BalancerMember http://192.168.56.103 loadfactor=2
BalancerMember http://192.168.56.104 loadfactor=3
ProxySet lbmethod=bytraffic
Order allow,deny
Allow from all
</Proxy>

ProxyPass / balancer://clusterABC/

III. Balance Manager

Ada opsi untuk mempermudah pengaturan perubahan load factor dan juga melihat web server mana yang mendapat beban kerja yaitu menggunakan balancer manager. Masukkan script berikut di antara tanda </Proxy> dan ProxyPass

<Location /balancer-manager>

SetHandler balancer-manager

Order Deny,Allow
#Deny from all
Allow from all
</Location>

ProxyPass /balancer-manager !

Kemudian restart apache, setelah itu buka browser dan ketikkan:

http://ipserver/balancer-manager/

dan akan terlihat tampilan sebagai berikut:




Sekarang coba refresh situs tersebut, maka akan tampak tampilan sebagai berikut:







sumber : catatanlepas.com


FOLLOW and JOIN to Get Update!

Social Media Widget SM Widgets




Irwan Cracker Updated at: 06:55
Comments
0 Comments

0 komentar:

Post a Comment

Jika Ada Kendala Silakan Tinggalkan Komentar Anda

Powered by Blogger.

Popular Posts