Load Balancing: Pengertian, Fungsi dan
Cara Kerjanya pada Server
April 7, 2021 5 min read
Website marketplace seperti Tokopedia, Lazada dan Shopee melayani ratusan pelanggan setiap
harinya. Pengunjung website mereka bahkan melonjak secara drastis saat event khusus seperti
12.12 atau Harbolnas.
Meski demikian, website marketplace tersebut jarang mengalami gangguan atau down. Kok bisa
ya? Salah satu jawabannya adalah penggunaan load balancing.
Di artikel ini, kita akan membahas lebih dalam tentang load balancing. Mulai dari pengertian
load balancing, fungsi load balancing, hingga cara kerja load balancing pada server website.
Pengertian Load Balancing
Load balancing adalah proses pendistribusian traffic jaringan ke beberapa server. Ini untuk
memastikan salah satu server tidak menanggung terlalu banyak beban permintaan.
Server website yang kelebihan beban membuat proses muat halaman menjadi lambat, atau
bahkan tidak terhubung sama sekali.
Secara sederhana, berikut prinsip kerja load balancing:
Mendistribusikan permintaan klien atau beban jaringan secara efisien di beberapa server.
Dengan pemerataan distribusi, website atau aplikasi menjadi lebih tanggap dan stabil
ketika diakses oleh pengguna.
Memastikan ketersediaan dengan mengirimkan permintaan hanya ke server yang sedang
online
Memberikan fleksibilitas untuk menambah atau mengurangi server sesuai permintaan
Cara Kerja Load Balancing
Apapun bentuknya, perangkat load balancing mendistribusikan traffic ke beberapa server untuk
memastikan tidak ada satu server pun yang menanggung beban berlebih. Secara efektif, load
balancing meminimalkan waktu respon server.
Fungsi load balancing sama seperti polisi lalu-lintas yang bertugas mencegah kemacetan dan
insiden di jalanan yang tidak diinginkan. Load balancer harus bisa memastikan arus lalu-lintas
jaringan tetap lancar sekaligus memberi rasa aman dalam sistem kerja jaringan yang rumit.
Secara sederhana, berikut cara kerja load balancing:
Pengguna meminta akses masuk server website / aplikasi
Load balancer menerima dan mendistribusikan traffic ke beberapa server
Jika satu server down, perangkat ini mengalihkan traffic ke server lain yang tersedia
Load balancing menjadi metode paling terukur dalam menangani banyaknya permintaan akses
dari alur kerja multi aplikasi dan multi perangkat. Dengan akses tanpa batas dunia digital saat ini,
load balancing memastikan pengalaman pengguna yang lebih baik.
Jenis Load Balancing
Setelah mempelajari pengertiannya, yuk kita lanjutkan ke jenis load balancing. Berdasarkan
konfigurasinya, terdapat tiga jenis load balancing: hardware, software, dan virtual load balancer.
Hardware Load Balancer
Sesuai dengan namanya, ini merupakan load balancer berbentuk perangkat keras. Alat ini dapat
mendistribusikan traffic sesuai dengan pengaturan yang dilakukan.
Karena berbentuk fisik, load balancer ini harus diletakkan di bersama dengan server di pusat data
lokal. Jumlah load balancer disesuaikan dengan traffic tertinggi yang diinginkan.
Biasanya, load balancer ini sanggup menangani traffic dalam jumlah besar. Meski demikian,
load balancer fisik memiliki harga yang terbilang mahal. Belum lagi, alat ini tidak sefleksibel
versi software-nya.
Software Load Balancer
Sebagaimana transisi jaman fisik ke digital, era load balancer fisik mulai tergantikan oleh versi
perangkat lunak. Lewat instalasi di server aplikasi atau virtual machine, Anda sudah memiliki
alat penyeimbang beban server.
Secara ekonomi, perangkat lunak load balancer lebih terjangkau dibandingkan load balancer
fisik. Versi perangkat lunak ini juga lebih fleksibel. Saat server menerima permintaan akses yang
lebih besar, Anda dapat mengubah load balancer ini sesuai kebutuhan.
Terdapat dua jenis load balancer perangkat lunak, komersial dan open source. Dua jenis ini dapat
menjadi alternatif Anda dibandingkan load balancer fisik.
Hardware Load Balancing vs Software Load Balancing
Secara bentuk, hardware load balancing dan software load balancing jelas berbeda. Hardware
load balancing membutuhkan ruang untuk menyusun dan menempatkan peralatan. Sedangkan
software load balancing cukup diinstal pada server atau virtual machine.
Selain dari bentuknya, berikut perbandingan antara hardware dan software load balancing:
Hardware Load Balancing
Kelebihan Kekurangan
Bekerja lebih cepat karena program berjalan menggunakan Membutuhkan perawatan yang
prosesor khusus secara fisik
Lebih aman karena hanya perusahaan yang dapat
Tidak dapat diubah secara fleksibel
mengakses
Harga yang lebih mahal dari
software
Software Load Balancing
Kelebihan Kekurangan
Kemungkinan terjadi delay saat konfigurasi
Dapat diatur ukurannya sesuai kebutuhan
program load balancing
Biaya lebih hemat karena tidak harus
membeli alat fisiknya
Dapat diaplikasikan ke cloud computing
5 Metode Load Balancing
Secara teknis, load balancing memiliki beberapa metode yang menggunakan berbagai algoritma
berbeda. Yuk simak penjelasannya di bawah ini.
1. Round Robin
Round Robin adalah metode yang paling banyak digunakan dalam algoritma load balancing.
Metode ini cocok untuk server dengan spesifikasi yang sama dan tidak banyak koneksi yang
terus menerus.
Metode ini merotasi server dengan mengarahkan traffic ke server pertama yang
tersedia. Traffic berikutnya akan diarahkan ke server kedua, dan berlaku seterusnya tergantung
jumlah server yang tersedia.
Misal perusahaan Anda memiliki dua server, maka permintaan klien pertama akan
didistribusikan ke server pertama. Permintaan klien kedua akan didistribusikan ke server kedua.
Sedangkan permintaan klien berikutnya akan kembali ke server pertama, dan seterusnya.
Sayangnya algoritma Round Robin tidak mempertimbangkan beban dan karakteristik masing-
masing server. Metode ini mengasumsikan bahwa tiap server memiliki kemampuan, jenis dan
karakteristik yang sama.
2. Least Connection
Algoritma Least Connection adalah metode yang mengevaluasi kekurangan Round Robin dalam
membaca beban tiap server. Metode Least Connection menjaga distribusi traffic yang merata di
semua server yang tersedia. Jika sebuah server memiliki beban koneksi yang besar, permintaan
data akan didistribusikan ke server yang lebih luang.
Saat terjadi permintaan, Least Connection berusaha mendistribusikannya ke server dengan
jumlah koneksi paling kecil. Hal ini dilakukan untuk menghindarkan overload pada server
karena besarnya traffic yang diterima.
3. Least Response Time
Versi lebih canggih dari metode Least Connection adalah Least Response Time. Metode ini
menggunakan dua cara dalam distribusi permintaan data klien. Saat terjadi permintaan data, load
balancer mengarahkan traffic ke server dengan koneksi aktif terkecil dan waktu respon paling
cepat.
Mengetahui kecepatan respon server membantu pengguna mengetahui beban sebuah server.
Selain itu, proses ini dapat menjadi gambaran user experience saat mengakses website.
4. Least Bandwidth
Berikutnya adalah metode Least Bandwidth, salah satu metode load balancing yang cukup
sederhana. Metode ini mencari server yang melayani jumlah traffic paling sedikit dalam ukuran
megabit per detik (Mbps).
Saat terjadi permintaan akses data, load balancer akan mendistribusikannya ke server yang
memiliki traffic Mbps paling kecil.
5. IP Hash
Metode terakhir dalam teknik load balancing adalah IP Hash. Dalam metode ini, permintaan
akses data ke sebuah server ditentukan lewat berbagai data yang berhubungan dengan IP
(incoming packet). Di antaranya alamat IP destinasi, port number, URL, hinggan nama domain.
Jadi secara sederhana, alamat IP klien menentukan server mana yang akan mendapatkan
permintaan data.
5 Kelebihan Load Balancing
Selain menyeimbangkan traffic dan memberi pengalaman pengguna yang baik, load balancing
memiliki banyak kelebihan bagi penggunanya.
1. Kemudahan Upgrade dan Downgrade
Jika Anda memiliki website, Anda harus mengunggah konten yang menarik minat pembaca.
Pembaca yang semakin banyak berarti traffic yang semakin banyak pula.
Lonjakan traffic berpotensi membuat situs Anda menjadi lambat bahkan gagal dimuat.
Dengan load balancing, traffic dapat tersebar di beberapa server dan lebih mudah ditangani.
Administrator server dapat menaikkan atau menurunkan skala server website sesuai kebutuhan
website tersebut.
2. Mempermudah Proses DIstribusi Traffic
Bagi Anda yang menggunakan load balancing untuk memelihara website di beberapa server,
kegagalan operasional situs dapat dibatasi secara signifikan. Load balancing mengeliminasi
proses yang tidak perlu, atau disebut redundansi.
Ketika traffic website dikirim ke dua atau lebih server dan salah satu gagal, load balancer secara
otomatis akan mengalihkannya ke server lain yang tersedia. Dengan beban server yang
seimbang, Anda dapat merasa aman karena server akan selalu online untuk
menangani traffic website.
3. Mengurangi Downtime dan Meningkatkan Performa
Load balancing memungkinkan Anda melakukan pemeliharaan server di mana pun Anda atau
perusahaan Anda berada. Ini artinya Anda bisa mengurangi sekaligus menaikkan performa
website Anda.
4. Manajemen Kegagalan yang Efisien
Load balancing membantu pengguna mendeteksi kegagalan dan menanganinya dengan efisien,
memastikan kegagalan apa pun tidak mempengaruhi beban server. Dengan menggunakan
beberapa pusat data yang tersebar, Anda dapat memotong jalur kegagalan yang terdeteksi dan
mengembalikan sumber daya ke server lain yang tidak terpengaruh.
5. Meningkatkan Fleksibilitas
Dengan beban server yang seimbang, administrator website memiliki fleksibilitas dalam
menangani traffic website. Mereka dapat melakukan tugas pemeliharaan server secara bertahap
tanpa mematikan aktifitas website atau menunggu waktu senggang website.
Load balancing memungkinkan Anda menyimpan beban ke satu server, sementara server lain
menjalani pemeliharaan.
2 Kekurangan Load Balancing
Sementara itu, load balancing juga memiliki beberapa kekurangan. Dua di antaranya:
1. Membutuhkan Konfigurasi Tambahan
Anda harus melakukan konfigurasi tambahan untuk mempertahankan koneksi terus menerus
antara klien dan server. Selain itu, Anda harus melakukan konfigurasi ulang load balancer setiap
kali terjadi perubahan susunan di cluster hilir. Misal saat node ditambahkan atau dihapus.
2. Biaya yang Cukup Besar
Hal ini berlaku terutama bagi load balancer yang berupa perangkat keras. Biasanya perangkat
keras load balancing menghabiskan biaya yang cukup besar dibanding perangkat lunaknya.