Apa itu Load Blancing? Load balancing adalah komponen kunci dari infrastruktur yang sangat tersedia yang biasa digunakan untuk meningkatkan kinerja dan keandalan situs web, aplikasi, database dan layanan lainnya dengan mendistribusikan beban kerja ke beberapa server.
Infrastruktur web tanpa load balancing mungkin terlihat seperti berikut:
Dalam contoh ini, pengguna terhubung langsung ke server web, di yourdomain.com. Jika server web tunggal ini macet, pengguna tidak lagi dapat mengakses situs web. Selain itu, jika banyak pengguna mencoba mengakses server secara bersamaan dan tidak dapat menangani beban, mereka mungkin mengalami waktu muat yang lambat atau mungkin tidak dapat terhubung sama sekali.
Titik tunggal kegagalan ini bisa dikurangi dengan memasukkan penyeimbang beban dan setidaknya satu server web tambahan di backend. Biasanya, semua server backend akan memasok konten yang sama sehingga pengguna menerima konten yang konsisten terlepas dari server mana yang meresponsnya.
Pada contoh diilustrasikan di atas, pengguna mengakses penyeimbang beban, yang meneruskan permintaan
pengguna ke server backend, yang kemudian merespons langsung permintaan pengguna. Dalam skenario ini,
titik tunggal kegagalan sekarang adalah penyeimbang beban itu sendiri. Hal ini dapat dikurangi dengan
memperkenalkan penyeimbang beban kedua, tapi sebelum kita membahasnya, mari jelajahi bagaimana penyeimbang
beban bekerja.
Trafik macam apa yang bisa load pegangan balancers?
Load balancer administrators create forwarding rules for four main types of traffic:
- HTTP — Standar penyeimbangan HTTP mengarahkan permintaan berdasarkan mekanisme HTTP standar. Load Balancer menetapkan header X-Forwarded-For, X-Forwarded-Proto, dan X-Forwarded-Port untuk memberi informasi tentang permintaan awal.
- HTTPS — Fungsi penyeimbangan HTTPS sama dengan penyeimbangan HTTP, dengan penambahan enkripsi. Enkripsi ditangani dengan salah satu dari dua cara: baik denganpassthrough SSL yang menyimpan enkripsi sampai ke backend atau dengan penghentianSSL yang menempatkan beban dekripsi pada penyeimbang beban namun mengirimkan lalu lintas yang tidak dienkripsi ke bagian belakang.
- TCP — Untuk aplikasi yang tidak menggunakan HTTP atau HTTPS, lalu lintas TCP juga bisa diimbangi. Misalnya, lalu lintas ke cluster database bisa tersebar di semua server.
- UDP — Baru-baru ini, beberapa balancers beban telah menambahkan dukungan untuk teknologi load balancing core internet seperti DNS dan syslog yang menggunakan UDP
Aturan penerusan ini akan menentukan protokol dan port pada penyeimbang beban itu sendiri dan memetakannya ke protokol dan port yang digunakan penyeimbang beban untuk mengarahkan lalu lintas ke backend.
Bagaimana cara penyeimbang beban memilih server backend?
Load balancers memilih server mana yang mengajukan permintaan berdasarkan kombinasi dua faktor. Mereka pertama-tama akan memastikan bahwa setiap server yang dapat mereka pilih benar-benar merespons permintaan secara tepat dan kemudian menggunakan aturan yang telah dikonfigurasi sebelumnya untuk memilih dari antara kolam yang sehat itu.
Cek kesehatan
Load balancers hanya akan meneruskan lalu lintas ke server backend “sehat”. Untuk memantau kesehatan server backend, pemeriksaan kesehatan secara teratur mencoba terhubung ke server backend menggunakan protokol dan port yang ditentukan oleh peraturan penerusan untuk memastikan server mendengarkan. Jika server gagal dalam pemeriksaan kesehatan, dan karena itu tidak dapat melayani permintaan, maka secara otomatis dikeluarkan dari kolam, lalu lintas tidak akan diteruskan sampai pemeriksaan kesehatan kembali pulih.
Algoritma Load Balancing
Algoritma load balancing yang digunakan menentukan server mana yang sehat pada backend yang akan dipilih. Beberapa algoritma yang umum digunakan adalah:
Round Robin – Round Robin berarti server akan dipilih secara berurutan. Penyeimbang beban akan memilih server pertama dalam daftar untuk permintaan pertama, lalu turunkan daftar secara berurutan, mulai dari atas saat mencapai akhir.
Least Connections – Least Connections berarti penyeimbang beban akan memilih server dengan koneksi paling sedikit dan disarankan saat lalu lintas menghasilkan sesi yang lebih lama.
Sumber – Dengan algoritma Sumber, penyeimbang beban akan memilih server mana yang akan digunakan berdasarkan hash dari IP sumber permintaan, seperti alamat IP pengunjung. Metode ini memastikan pengguna tertentu secara konsisten terhubung ke server yang sama.
Algoritma yang tersedia untuk administrator berbeda-beda tergantung pada teknologi load balancing spesifik yang digunakan.
Bagaimana load balancers menangani state?
Beberapa aplikasi mengharuskan pengguna terus terhubung ke server backend yang sama. Algoritma Source menciptakan afinitas berdasarkan informasi IP klien. Cara lain untuk mencapai hal ini di tingkat aplikasi web adalah melalui sesi lengket, di mana penyeimbang beban menetapkan cookie dan semua permintaan dari sesi tersebut diarahkan ke server fisik yang sama.
Redundant Load Balancers
Untuk menghilangkan penyeimbang beban sebagai satu titik kegagalan, penyeimbang beban kedua dapat dihubungkan ke yang pertama untuk membentuk sebuah cluster, di mana masing-masing memonitor kesehatan orang lain. Masing-masing sama-sama mampu melakukan deteksi dan pemulihan kegagalan.
Pada event penyeimbang beban utama gagal, DNS harus membawa pengguna ke penyeimbang beban kedua. Karena perubahan DNS dapat memakan banyak waktu untuk disebarkan di Internet dan untuk membuat failover ini otomatis, banyak administrator akan menggunakan sistem yang memungkinkan pemetaan alamat IP fleksibel, seperti IP terapung. Pada permintaan pemetaan ulang alamat IP menghilangkan masalah propagasi dan caching yang melekat pada perubahan DNS dengan memberikan alamat IP statis yang dapat dipetakan ulang dengan mudah saat dibutuhkan. Nama domain dapat tetap dikaitkan dengan alamat IP yang sama, sedangkan alamat IP itu sendiri dipindahkan antar server.
Ini adalah bagaimana sebuah infrastruktur yang sangat tersedia dengan menggunakan Floating IPs mungkin terlihat:
Sumber : https://www.kreatifa.com/apa-itu-load-balancing/
Tipe Load Balancing
Dalam dunia load-balancing, ada dua pilihan untuk dipertimbang kan yaitu :
1. Software Load Balancing - dimana load balancing berjalan disebuah PC/server, dan aplikasi Load Balancing ini di install dan perlu dikonfigurasi sebelum dapat berfungsi. Keuntungannya jika ada penambahan fitur atau fasilitas tambahan tidak perlu mengganti keseluruhan perangkat load balancing. Performa proses load balancing dipengaruhi oleh perangkat komputer yang di gunakan, tidak hanya bisa mengandalkan kemampuan Software yang canggih saja. Perangkat keras yang yangdapat mempengaruhi performa metode ini adalah kartu jaringan (Network Interface Card) yang di gunakan . Besar RAM pada perangkat, media penyimpanan yang besar dan cepat, dsb. Sehingga metode ini sulit untuk di perkirakan . Load balancer software yang banyak di gunakan antara lain :
Linux Virtual Server , Ultra Monkey, dan Network Load Balancing .
2. Hardware Load Balancing - Dimana Load Balancing berjalan di sebuah device/alat yabg sudah disiapkan dari pabrik dan siap di gunakan. Tipe hardware load balancing sangat banyak digunakan karena kemudahannya. Beberapa load balancing Hardware diantaranya : Cisco system Catalyst, Coyote Point, F5 Network Big-IP, Barracuda Load Balancer.
Tipe Load Balancing
Dalam dunia load-balancing, ada dua pilihan untuk dipertimbang kan yaitu :
1. Software Load Balancing - dimana load balancing berjalan disebuah PC/server, dan aplikasi Load Balancing ini di install dan perlu dikonfigurasi sebelum dapat berfungsi. Keuntungannya jika ada penambahan fitur atau fasilitas tambahan tidak perlu mengganti keseluruhan perangkat load balancing. Performa proses load balancing dipengaruhi oleh perangkat komputer yang di gunakan, tidak hanya bisa mengandalkan kemampuan Software yang canggih saja. Perangkat keras yang yangdapat mempengaruhi performa metode ini adalah kartu jaringan (Network Interface Card) yang di gunakan . Besar RAM pada perangkat, media penyimpanan yang besar dan cepat, dsb. Sehingga metode ini sulit untuk di perkirakan . Load balancer software yang banyak di gunakan antara lain :
Linux Virtual Server , Ultra Monkey, dan Network Load Balancing .
2. Hardware Load Balancing - Dimana Load Balancing berjalan di sebuah device/alat yabg sudah disiapkan dari pabrik dan siap di gunakan. Tipe hardware load balancing sangat banyak digunakan karena kemudahannya. Beberapa load balancing Hardware diantaranya : Cisco system Catalyst, Coyote Point, F5 Network Big-IP, Barracuda Load Balancer.
Manfaat Load Balancer
Perusahaan memanfaatkan sebuah server untuk menangani banyak klien atau pengguna. Ketika jumlah pengguna semakin banyak, jumlah server pun ditambah dan load balancer digunakan untuk membagi kerja tiap server.
1. Membagi beban pada server secara merata
Ketika sebuah jaringan dimanfaatkan oleh ribuan pengguna, satu server tidak akan mampu melayani semuanya dengan kemampuan yang optimal. Semakin banyak yang mengakses membuatnya bekerja lebih keras, sehingga makin lama terasa makin berat.
Load balancer memiliki algoritma tertentu untuk membagi kerja antara server satu dengan yang lain. Misalnya, jika ada permintaan layanan sementara server A sedang sibuk, kerja akan dialihkan pada server B atau C. Ada juga yang membagi kerja server secara bergiliran. Setiap ada permintaan, load balancer akan mengarahkan ke server A, lalu B, dan kemudian C. Semua ini dilakukan agar tidak ada server yang memiliki beban kerja terlalu besar.
2. Memberikan waktu respons yang cepat
Dengan terbaginya beban kerja, tidak ada server yang overload dalam menangani permintaan dari banyak pengguna jaringan. Setiap server dapat memberikan respons dalam waktu yang relatif singkat. Hal ini menjadikan penggunaan layanan di dalam jaringan tanpa jeda, sama seperti jika layanan ada di dalam CPU sendiri.
Tanpa penggunaan load balancer dalam pembagian kerja server, besar kemungkinan Anda akan mengalami waktu tunggu, yang populer dengan istilah loading. Dalam lingkup perusahaan, hal ini bisa menyebabkan banyak kerugian, terlebih lagi untuk perusahaan yang membutuhkan kecepatan layanan.
3. Melindungi pengguna dari server yang down
Sebagai sebuah perangkat keras, ada kemungkinan server mengalami downtime sehingga tidak bisa digunakan. Jaringan dengan satu server akan mati jika hal ini sampai terjadi. Oleh karena itu, penggunaan server lebih dari satu dan dilengkapi load balancer sangat diperlukan agar kerja di dalam jaringan tetap berjalan.
Menghadapi jeda yang cukup lama selama bekerja di dalam jaringan adalah pengalaman cukup tidak menyenangkan, apalagi jika gagal sama sekali. Load balancer memiliki kemampuan untuk mengetahui apakah sebuah server dapat digunakan atau tidak. Server yang sedang down tidak memberikan respons sehingga load balancer akan mengalihkan kerja pada server yang lain. Artinya, proses bisnis tetap berjalan dan teknisi memiliki waktu lebih lengang untuk proses maintenance.
4. Memastikan kelancaran proses bisnis perusahaan
Kerja jaringan yang cepat dan tidak terbebani adalah sebuah kebutuhan agar proses bisnis dalam perusahaan Anda dapat berjalan dengan lancar. Jika dianalogikan sebagai jalan raya, load balancer seperti polisi yang membagi kepadatan jalan dan mengarahkan kendaraan untuk melewati jalur yang lancar. Hasilnya, aktivitas yang menggunakan jaringan tersebut dapat berjalan sebagaimana mestinya.
Lancarnya sebuah jaringan dapat menghindarkan proses bisnis Anda dari permasalahan yang mungkin bisa menjadi lebih besar lagi, seperti surat elektronik yang lambat terkirim atau sistem yang tidak berjalan sama sekali. Jika semuanya lancar, kegagalan yang disebabkan oleh gangguan teknis tidak perlu terjadi.
Jika Anda mencari di internet, ada banyak penyedia perangkat ini. Salah satu yang sering digunakan adalah KEMP load balancer. Penggunaan jaringan perusahaan menjadi lebih optimal dan pekerjaan menjadi lebih lancar.
sip
BalasHapus