Website menjadi hal yang wajib dimiliki oleh perusahaan di era yang serba digital seperti sekarang ini.
Semakin tingginya kebutuhan akan akses website, bisa menyebabkan web server sibuk atau bahkan tidak mampu melayani permintaan client.
Akibatnya, web server overload atau down, dan hal ini tentu akan menimbulkan kerugian, baik secara material maupun reputasi perusahaan.
Perlu dilakukannya load balancing pada web agar siap menerima traffic yang besar dari client. Salah satu tools yang bisa digunakan untuk load balancing adalah Apache.
Apache
Apache adalah program yang berfungsi untuk menjalankan, melayani, dan memfungsikan situs web dalam sebuah komputer. Apache bisa dijalankan lintas platform, sperti linux, windows dan sistem operasi lainnya karena merupakan perangkat lunak open source yang dikembangkan oleh komunitas terbuka dibawah naungan Apache Software Foundation.
Apache punya banyak fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentikasi berbasis basis data, dan lain-lain. Proses load balancer juga bisa dilakukan melalui software Apache, dengan menambahkan beberapa modul konfigurasi tertentu.
Load balancing dengan Apache
Load balancing adalah proses pendistribusian beban trafik pada dua atau lebih jalur koneksi secara merata.
Metode load balancing ini digunakan saat server telah memiliki jumlah pengguna yang melebihi kapasitas maksimal dari server tersebut. Hal ini dilakukan untuk mengurangi beban kerja setiap server, sehingga tidak ada server yang kelebihan beban.
Saat load balancer menerima permintaan pelayanan dari pengguna, permintaan tersebut kemudian dilanjutkan ke server utama. Apache sebagai load balancer bekerja dengan cara meneruskan permintaan tersebut menuju server-server yang menjadi anggota dari Apache load balancer.
Algoritma Load Balancing
1. Round Robin
Algoritma Round Robin bekerja dengan membagi beban secara berurutan dan merata dari satu server ke server lainnya.
2. Ratio
Algoritma ini bekerja dengan memberikan parameter pada masing-masing server yang akan dimasukkan kedalam sistem load balancing. Server dengan ratio terbesar akan diberikan beban yang besar pula, sedangkan server dengan ratio kecil akan diberi beban yang kecil.
3. Fastest
Algoritma ini mengutamakan server-server yang memiliki respon tinggi dan cepat. Saat permintaan masuk, maka permintaan akan diteruskan pada server yang memiliki respon tinggi dan cepat.
4. Least connection
Algoritma ini membagi beban berdasarkan banyaknya koneksi yang sedang dilayani oleh server. Server yang memiliki koneksi paling sedikit akan melayani permintaan yang masuk saat itu.
Kelebihan Load Balancing
Pada dasarnya, load balancing dilakukan untuk mencegah terjadinya kelebihan beban pada server. Namun ada kelebihan lain, diantaranya:
1. Memaksimalkan performa server
Menerapkan load balancing mampu memaksimalkan performa dari setiap server. Load balancer dapat mempercepat respon server hingga mencegah terjadinya berbagai macam masalah, seperti kelebihan server down karena kelebihan beban. Selain itu, load balancer juga dapat membantu membuat jaringan lebih stabil ketika diakses.
2. Memudahkan distribusi trafik
Load balancer juga akan memudahkan proses distribusi lalu lintas. Jika distribusi trafik lancar, maka kemungkinan terjadi server down bisa dihindari. Ketika salah satu server tidak mampu menerima permintaan trafik, load balancer akan mengalihkan permintaan tersebut ke server lain yang tersedia dan memadai.
3. Meningkatkan fleksibilitas server
Fleksibilitas sebuah server akan meningkat jika administrator dapat mengelola lalu lintas yang masuk dengan lancar dan teratur. Load Balancer mampu membantu memberikan beban yang merata dan seimbang di setiap server agar permintaan trafik bisa masuk dengan lancar dan teratur.