Mengapa web server banyak menggunakan load balancing ? terangkum dari beberapa sumber mengenai Load Balancing yang dikatakan dengan service tersebut Load Balancing mampu melakukan :
- Untuk mempercepat waktu reponse sebuah web. Dengan menggunakan teknik load balancing maka yang akan menerima request tidak hanya 1 server, sehingga mempercepat waktu response sebuah web. 1 web server dapat menerima banyak request, sedangkan 1 server biasanya kita memiliki 1 web server, bayangkan saja jika kita mempunyai 5 dan masing – masing server mempunyai 1 web server maka waktu response sebuah web akan meningkat sangat pesat.
- Dengan menggunakan load balancing kita akan mengurangi error pada system, misalnya jika kita mempunyai 5 server, lalu masing – masing server tersebut mempunyai web server yang menjalankan web yang telah kita deploy, karena kita menggunakan load balancing, jika salah satu server mati maka web kita akan tetap berjalan karena server lain akan menghandle request web tersebut.
Selama ini menjalankan web server hanya bersifat “paketan” artinya satu-satu baik di sistem biasa maupun virtualisasi seperti pada Docker ini. Dari alasan di atas kemudian muncul gagasan bagaimana web app yang terpasang lebih dari satu, dengan tetap menggunakan satu MariaDB dan penggunaan NGINX yang dapat membagi atau pengalihan akses secara periodik antar Web App dapat berjalan dengan lancar.
Tibalah saatnya kemudian mencoba pengaktifan NGINX – Load Balancing pada salah satu container pada Docker, dengan berbekal modif konfigurasi (pasang-copot) pada beberapa container container yang disesuaikan, diantaranya 6 Web App, 1 MariaDB, 1 PHPMyAdmin dan 1 NGINX, akhirnya berhasil dan berjalan dengan lancar. Berikut penyesuaian yang sudah dilakukan dengan cukup efektif menjalankan service 6 web-app 1 database.
Dengan struktur direktori berkas aplikasi ada di sini /root/docker/lampp:
~$ cd /root/docker/lampp/ && apt install tree && tree -L 1
Direktori: /root/docker/lampp [Direktori-Utama]
├── docker-compose.yml
├── + loadbalancing [Direktori-1]
├──── - nginx.conf
├── + mariadb_data [Direktori-2]
├──── - ………
├── + php-app1 [Direktori-3]
├──── - index.php
├── + php-app2 [Direktori-4]
├──── - index.php
├── + php-app3 [Direktori-5]
├──── - index.php
├── + php-app4 [Direktori-6]
├──── - index.php
├── + php-app5 [Direktori-7]
├──── - index.php
├── + php-app6 [Direktori-8]
└──── - index.php
Continue reading