Assalamu'alaikum wr.wb
Pada kali ini ane ingin share cara konfigurasi loadbalancing pada apache dengan lbmethod. Ini masih sama dengan lab sebelumnya menggunakan proxy_module pada apache. Jadi tidak menggunakan menggunakan aplikasi pihak ke3 lagi, seperti haproxy dan sebagainya. Loadbalancing adalah sebuah metode untuk menyeimbangkan beban request klien pada lebih dari satu server yang dikontrol pada satu node yang disebut dengan controller. Pada controller ini bisa diatur berapa beban yang ditanggung berapa server. Misalnya server A diset menangani 2 request klien, sedangkan server B menangani 1 request klien. Hal itu bisa saja kalau misalnya spek server A lebih tinggi daripada server B. Sesuai kebutuhan saja. Disini saya menerapkan loadbalancing untuk webserver.
Pada lab kali ini, saya masih meneruskan lab sebelumnya disini, konfigurasinya tidak terlalu jauh berbeda dengan yang sebelumnya.
Topologi :
Loadbalancing pada lab ini bisa dibilang juga reverse proxy dengan 2 node. Jadi bebannya bisa diatur sesuai selera dengan spesifikasi seperti diatas.
Sesuai topologi diatas, saya memiliki dua server backend, yaitu node1 dan node2 sebagai webserver. Jadi jika client merequest halaman website pada controller, sebenarnya kontennya itu tidak ada pada controller, tapi ada pada setiap node. Jadi node akan bergantian sesuai beban yang telah ditentukan untuk menangani request klien.
Buat terlebih dahulu file yang akan digunakan untuk konfigurasi loadbalancing, disini saya menggunakan file yang sama seperti lab sebelumnya, dan hanya diubah atau ditambahkan sedikit saja
Masukkan konfigurasi seperti ini
Tag <IfModule> mendefinisikan sebuah fitur yang aktif hanya ketika module yang ditentukan dimuat. Disana saya akan memuat proxy_module pada httpd, maka dituliskan mod_proxy.c yang menandakan source code dari proxy_module.
ProxyRequests off menandakan bahwa saya tidak mengaktifkan proxy request.
Tag <Proxy> untuk apa yang diterapkan pada proxy resource, disana saya memberikan tanda bintang (*) atau universal (semuanya). Jadi saya mengkonfigurasi proxy secara keseluruhan pada server saya.
Require all granted maksudnya adalah saya mengizinkan semua user dapat mengakses webserver (reverse proxy) saya.
ProxyPass / balancer://cluster-1 lbmethod=byrequests berguna untuk memetakan reverse proxy (controller) ke grup balancer dengan nama cluster-1 secara perhitungan permintaan tertimbang
Tag <proxy balancer://cluster-1> berguna untuk membuat grup balancer dengan nama cluster-1
BalancerMember itu mendefinisikan anggota dari cluster-1 sebagai grup loadbalancer, disana saya memasukkan ip 172.16.11.142 dan ip 172.16.11.143 yaitu ip node1 dan node2 dengan protokol http, ya kan karena kita mau bikin loadbalancer buat web. Sedangkan loadfactor adalah beban yang ditanggung masing masing node. Maksudnya adalah, dengan cara saya memasukkan loadfactor masing masing 1, maka tiap node akan bergantian menangani request client, jika yang satu diberi loadfactornya 2, maka dia akan menangani 2 request client secara berurutan, kemudian beban selanjutnya ditangani oleh node yang satunya.
ProxyPass / balancer://cluster-1 lbmethod=byrequests berguna untuk memetakan reverse proxy (controller) ke grup balancer dengan nama cluster-1 secara perhitungan permintaan tertimbang
Tag <proxy balancer://cluster-1> berguna untuk membuat grup balancer dengan nama cluster-1
BalancerMember itu mendefinisikan anggota dari cluster-1 sebagai grup loadbalancer, disana saya memasukkan ip 172.16.11.142 dan ip 172.16.11.143 yaitu ip node1 dan node2 dengan protokol http, ya kan karena kita mau bikin loadbalancer buat web. Sedangkan loadfactor adalah beban yang ditanggung masing masing node. Maksudnya adalah, dengan cara saya memasukkan loadfactor masing masing 1, maka tiap node akan bergantian menangani request client, jika yang satu diberi loadfactornya 2, maka dia akan menangani 2 request client secara berurutan, kemudian beban selanjutnya ditangani oleh node yang satunya.
Restart service httpd pada controller agar konfigurasi yang baru diubah berjalan
Buka port http pada node2 agar server mengizinkan request http dari controller dan node2 dapat mengirimkan replynya ke controller
Buat file index pada node2 di /var/www/html/
Vi /var/www/html/index.html |
<html> <center> <h1>Test Page</h1> <h2>Node 2</h2> <h3>www.alisofyan.com</h3> </center> </html> |
Kemudian buka web anda, dan lakukan reload secara 1 - 2 kali, apakah kontennya berubah sesuai node gilirannya seperti ini atau tidak. Kalau tidak mungkin ada yang salah konfigurasinya dan bisa juga masalah firewall. Keep oprek J
Sekian Semoga Bermanfaat
loading...
Comments
Post a Comment