Ritaelfianis.id – Load balancing jika diartikan secara bebas ke bahasa Indonesia adalah menyeimbangkan beban.
Dalam bidang teknologi internet pun memang persis seperti itu yang dilakukan oleh load balancing pada jaringan komputer, terutama jaringan internet yang cakupannya lebih luas.
Teknologi ini merupakan suatu unit dalam sistem jaringan internet yang besar.
Namun sebuah pembahasan hanya mengenai load balancing saja akan memakan banyak waktu.
Pada tulisan kali ini, Anda hanya perlu meluangkan sedikit waktu untuk mempelajarinya.
Apa itu Load Balancing?
Load balancing adalah proses pembagian trafik atau load yang diterima ke beberapa server secara merata. Biasanya akan sangat berguna saat ada lonjakan trafik.
Aplikasi atau website-website besar memang sering mengalami lonjakan trafik di saat tertentu.
Apabila mereka tidak menggunakan teknologi ini maka aplikasi atau website tersebut bisa down karena server tidak sanggup menerima permintaan dari client.
Permintaan client dalam jumlah yang sangat banyak dalam satu waktu biasanya ditanggulangi dengan cara melakukan penambahan server.
Namun hal itu belum cukup, tanpa adanya fitur load balancing, penambahan server tersebut akan sia-sia karena bisa jadi beban trafik tidak seimbang.
Pada saat request membludak, di situlah peran dari load balancing untuk memastikan request yang diterima oleh masing-masing server seimbang.
Sehingga tidak ada kejadian suatu server hanya menerima request sedikit dan ada server lain yang malah menerima terlalu banyak request.
Cara Kerja Load Balancing
Sebelum ke penjelasan teknis silakan Anda berandai-andai mengenai bagaimana prinsip kerja dari load balancing.
Andaikan kasir pada suatu supermarket adalah server dan pembeli adalah client pada jaringan komputer, maka banyaknya pembeli adalah sebuah lonjakan request atau trafik.
Jika ada ratusan pembeli dengan hanya satu kasir, maka tentu saja kasir tersebut akan berat beban kerjanya.
Maka dari itu dibukalah kasir berikutnya beserta sistem yang mengarahkan agar pembeli dapat antri di kasir yang lebih sepi sehingga bisa terjadi keseimbangan beban kerja pada kasir.
Untuk mengarahkan pembeli dan membagi-bagi pembeli ke kasir tersebut dilakukan dengan sistematis, hingga terjadi keseimbangan beban kerja pada kasir itulah yang diibaratkan sebagai load balancing pada sistem jaringan internet.
Jadi, secara teknis cara kerja load balancing adalah dengan menerima request atau trafik dari client terlebih dahulu sebelum diarahkan kepada server-server yang ada secara merata.
Bila ada server yang mengalami kendala, teknologi ini juga mampu mengalihkan request ke server yang lain.
Tahapan Cara Kerja Load Balancing
Berikut ini adalah cara kerjanya yang diutarakan kembali dalam bentuk tahapan-tahapan penting.
Semoga Anda dapat lebih mudah memahaminya.
- Client melakukan request untuk akses ke server aplikasi atau website.
- Load balancing menerima request dari client tersebut untuk kemudian mendistribusikan request atau trafik ke server-server yang tersedia.
- Jika salah satu server down atau mengalami kendala maka load balancing mengalihkan trafik ke server lain yang berfungsi normal.
Dengan cara kerja di atas, metode load balancing menjadi cara yang paling masuk akal dan terukur untuk menanggulangi banyaknya permintaan akses multi perangkat maupun multi aplikasi.
Terlebih lagi di zaman teknologi saat ini tentunya akan memberikan pengalaman pengguna yang baik.
Prinsip Kerja Load Balancing
Persis seperti tahapan cara kerjanya yang sederhana, prinsip kerjanya pun sangat mudah dipahami.
Dari tahapan cara kerjanya, bisa menyimpulkan bahwa prinsip kerjanya adalah sebagai berikut.
- Mendistribusikan request dari client secara efisien dan merata ke beberapa server yang tersedia.
- Memastikan ketersediaan dengan cara hanya mengirim request dari client ke server yang normal.
- Memberikan keleluasaan kepada aplikasi atau website untuk mengurangi atau menambah server.
Manfaat Load Balancing
Beberapa manfaat dengan adanya teknologi ini untuk aplikasi atau website dapat dirasakan langsung oleh pengelola atau pengguna.
Berikut ini manfaat-manfaat yang perlu diketahui:
- Meningkatkan kinerja server aplikasi atau website.
- Mengurangi downtime pada aplikasi maupun website.
- Mampu mendistribusikan trafik.
- Menghemat penggunaan sumber daya (resource) saat terjadi lonjakan trafik.
- Meningkatkan skalabilitas aplikasi dan website dengan meratakan beban kerja server.
Jenis Load Balancing Berdasarkan Konfigurasi
Load balancing terdiri dari beberapa jenis. Jenis tersebut dibagi menjadi tiga, yaitu hardware , software dan virtual load balancing.
Pembagian jenis tersebut didasarkan atas konfigurasinya, di bawah ini akan dijelaskan secara lebih lengkap:
1. Hardware Load Balancing
Persis dengan namanya, jenis hardware adalah suatu sistem load balancing yang berwujud fisik atau perangkat keras.
Perangkat keras ini jelas berfungsi normal untuk dapat mendistribusikan request trafik sesuai dengan setting yang dilakukan.
Load balancing berupa perangkat keras ini harus diletakkan bersama server di data center.
Jumlah perangkat disesuaikan dengan perkiraan trafik tertinggi yang mungkin datang.
Meskipun dapat menangani trafik besar dengan baik namun perangkat ini terbilang relatif mahal.
2. Software Load Balancing
Jenis yang satu ini merupakan suatu sistem load balancing yang berupa software atau piranti lunak.
Era digital mulai menggerus pengaruh hardware, saat ini penggunaan software sudah mulai menggantikan hardware load balancing yang cukup mahal.
Dengan menggunakan software maka Anda dapat menghemat budget untuk aplikasi atau website yang ingin dikembangkan.
Hebatnya, software ini juga dapat diinstal di virtual machine, sehingga sangat fleksibel untuk pengaturan dari jarak jauh.
Jenis ini ada yang versi komersial dan versi open source. Walaupun versi komersial, pertimbangan beban biayanya tetap lebih ekonomis dibandingkan jenis open source.
Selain itu, fleksibilitasnya mampu mengubah load balancing sesuai kebutuhan secara remote.
3. Virtual Load Balancing
Dibandingkan dua jenis sebelumnya, jenis ini merupakan yang paling fleksibel.
Virtual mengoperasikan perangkat lunak di hardware pada virtual machine.
Jenis ini juga lebih fleksibel dalam efisiensi dan menyeimbangkan beban pada server dengan cara mendistribusikan trafik ke server-server yang tersedia. Ia menyerupai infrastruktur software dengan cara virtualisasi.
Jenis Load balancing Berdasarkan Fungsinya
Sama dengan jumlah pembagian berdasarkan konfigurasinya, saat ini jenis berdasarkan fungsinya juga dibagi menjadi tiga.
Berikut ini akan dibahas mengenai jenis berdasarkan fungsi load balancing yang dijalankannya.
1. Network Load Balancing yang Berada Pada Layer 4
Jenis ini berfungsi pada layer 4 protokol jaringan komputer, yaitu layer network.
Fungsi dari network ini adalah mendistribusi trafik di layer jaringan dan mengarahkannya atas dasar layer tersebut.
Sesuai dengan layer tempatnya berfungsi, network saat menjalankan fungsinya tidak mengacu pada parameter-parameter di layer aplikasi.
Parameter-parameter tersebut seperti data cookie, header, application behavior, lokasi maupun yang lainnya.
2. Application Load Balancing yang Berada Pada Layer 7
Persis dengan nama yang diberikan, application adalah jenis yang bekerja pada layer 7 atau lapisan aplikasi pada protokol jaringan komputer.
Fungsinya adalah mendistribusikan trafik berdasarkan parameter di application layer atau lapisan aplikasi di protokol.
Application mengecek rentang data yang lebih luas termasuk sesi SSL, header HTTP dan mendistribusikan trafik ke server berdasarkan beberapa parameter.
Jenis ini juga mengatur trafik server berdasarkan behavior dan penggunaan individu.
3. Global Server Load balancing
Jenis ini sering juga disebut dengan multi site load balancing. Saat ini sudah banyak sekali aplikasi atau website yang di hosting menggunakan cloud computing.
Sesuai dengan namanya, Jenis ini mendistribusikan trafik di server-server yang terletak di beberapa lokasi.
Selain menyeimbangkan beban trafik pada server, multi site ini unggul dalam kecepatan pemulihan.
Maksudnya jika terjadi permasalahan pada suatu server maka akan mengalihkan trafik ke server normal di lokasi lain yang tidak terdampak masalah.
Metode Load Balancing
Secara praktis dan teknis, load balancing dibagi ke dalam lima metode dengan algoritma yang berbeda.
Di antaranya round robin, least connection, least response time, least bandwidth dan IP hash. Berikut ini penjelasan lengkap untuk masing-masing metodenya.
1. Metode Least Bandwidth
Metode dengan algoritma least bandwidth adalah metode yang cukup sederhana. Jenis metode ini mendistribusikan trafik secara merata ke server yang tersedia.
Distribusi tersebut berdasarkan server dengan trafik paling sedikit.
Lebih jelasnya, trafik yang baru datang akan diarahkan ke server yang sedang melayani trafik paling rendah dalam ukuran Mbps atau Mega bit per second.
Jadi server yang tersedia akan dibagikan trafik secara merata berdasarkan bandwidthnya.
2. Metode Round Robin
Teknologi berikutnya adalah round robin. Metode algoritma ini merupakan yang paling banyak digunakan.
Metode round robin sangat cocok digunakan untuk server yang memiliki spesifikasi sama dan tidak dibanjiri oleh request yang banyak secara terus menerus.
Algoritma dari metode ini cukup sederhana yaitu mendistribusikan trafik ke server-server yang tersedia dengan cara merotasinya atau bergiliran memberi trafik kepada server-server tergantung kepada jumlahnya.
Jadi praktisnya metode ini memberikan trafik pertama ke server pertama, trafik kedua ke server kedua.
Jika server yang tersedia ada dua maka trafik ketiga akan diberikan lagi ke server pertama, trafik berikutnya akan diberikan kepada server kedua lagi. Begitu terus menerus.
Pada algoritma metode round robin ini terdapat beberapa kekurangan.
Yaitu, tidak mempertimbangkan beban pada server, tidak mempertimbangkan perbedaan spesifikasi pada server serta tidak mempertimbangkan kemampuan server-server yang tersedia.
3. Metode Least Connection
Algoritma berikutnya adalah metode least connection. Algoritma atau metode mengevaluasi kekurangan yang ada pada algoritma round robin dalam hal membaca beban server.
Metode algoritma least connection pun sama, pada dasarnya meratakan distribusi trafik ke server.
Pemerataan trafik tersebut dilakukan dengan cara mempertimbangkan beban koneksi pada server.
Misalkan ada server dengan beban koneksi besar maka server tersebut tidak diberikan trafik melainkan diberikan kepada server yang lebih luang koneksinya.
4. Metode Least Response Time
Least response time bisa dikatakan sebagai metode yang lebih canggih dari algoritma least connection.
Algoritma least response time ini mempertimbangkan dua variabel pada saat mendistribusikan trafik kepada server-server yang tersedia.
Kedua variabel tersebut adalah koneksi aktif dan waktu respon. Jadi, trafik akan diberikan oleh load balancing kepada suatu server jika memiliki koneksi aktif paling kecil dan waktu respon tercepat.
Algoritma ini cukup teruji dalam memberikan pengalaman baik kepada client pengakses aplikasi.
5. Metode IP Hash
Metode terakhir yaitu IP hash. Prinsipnya persis sama, metode ini juga menyeimbangkan trafik ke server-server yang tersedia.
Pada teknik atau metode ini, alamat IP client menentukan server mana yang akan mendapatkan request dari client tersebut.
Ya, dalam metode ini server mana yang akan mendapatkan request dipertimbangkan atas dasar berbagai data yang berhubungan dengan incoming packet.
Termasuk di antaranya adalah port number, alamat IP tujuan, URL hingga nama domain.
Setelah banyak pembahasan mengenai load balancing di atas. Pasti Anda sudah mengetahui banyak hal mengenai teknologi ini.
Silakan simak pembahasan lanjutannya mengenai kelebihan dan kekurangannya.
Kelebihan Load Balancing
- Fleksibilitas untuk upgrade atau downgrade. Caranya adalah dengan menaikkan atau menurunkan skalabilitas server situs web sesuai kebutuhannya.
- Memudahkan proses distribusi trafik, load balancing ini dilakukan saat tersedia lebih dari satu server.
- Meningkatkan performa aplikasi atau website dengan cara mengurangi downtime.
- Mampu mengelola kegagalan dengan efisien, caranya adalah tidak memberikan trafik kepada server yang sedang bermasalah.
- Meningkatkan fleksibilitas dalam hal pemeliharaan. Maksudnya adalah jika aplikasi atau website Anda menggunakan lebih dari satu server maka trafik bisa diarahkan ke server-server yang tersedia saat sedang ada pemeliharaan di salah satu server.
Kekurangan Load Balancing
Di balik banyaknya kelebihan suatu teknologi, tersimpan pula potensi kekurangannya.
Setelah melalui banyak peninjauan, kekurangan yang terdapat pada teknologi load balancing ada dua hal.
- Menggunakan teknologi ini tentu saja dibutuhkan tambahan biaya yang cukup besar. Biaya untuk penggunaan server yang lebih dari satu, kemudian juga biaya untuk teknologi itu sendiri. Biaya akan semakin besar jika yang digunakan adalah hardware load balancing.
- Memerlukan konfigurasi tambahan. Anda harus melakukan konfigurasi tambahan untuk memastikan aplikasi atau website selalu online. Selain itu Anda juga harus rutin melakukan konfigurasi ulang saat ada perubahan pada cluster hilir seperti penambahan node.
Penutup
Demikian penjelasan lengkap mengenai load balancing yang perannya sangat penting pada sebuah aplikasi atau website.
Dengan mengetahui hal-hal tentang load balancing, Anda pantas mempertimbangkan penggunaannya pada server aplikasi atau website yang sedang dikelola.