Belajar Mengenal Load Balancing
Pengertian Load Balancing
Load balancing dalam komputasi merupakan komponen kunci dari insfrastruktur yang dapat digunakan dalam meningkatkan kinerja dan kendala situs web, aplikasi, database dan layanan lainnya dengan mendisitribusikan beban kerja ke beberapa server.
Cara kerjanya secara umum adalah menerima incoming request dari client dan meneruskan request tersebut kepada server jika dibutuhkan. Load balancer ini dapat menggunakan beberapa algoritma yang berbeda untuk melakukan control traffic network. Tujuan algoritma load balancer ini untuk mendistribusikan beban secara pintar atau memaksimalkan kerja anggota server cluster.
Fungsi Server Load Balancing
- Dapat menerima trafik dari sebuah network, misalnya web traffic dan mengarahkannya ke site tertentu
- Dapat melakukan split trafik menjadi individual request dan menentukan server mana yang akan menerima individual request tersebut
- Dapat memantau server dengan meyakinkan bahwa server tersebut bertanggung jawab terhadap trafik
- Dapat memberikan redudansi dengan mengaktifkan serber lebih dari satu unit melalui mekanisme fail-over
- Dapat menawarkan distribusi content seperti pembacaan URL. Interconnecting cookies dan XML parsing
Contoh Algoritma Load Balancer
-
Round-Robin
Algoritma ini dapat mendistribusikan beban kepada seluruh server anggota cluster sehingga masing-masing server akan mendapat beban yang sama dalam waktu yang sama. Round-Robin ini sangat cocok saat seluruh anggota server memiliki kemampuan untuk processing yang sama, karena jika tidak sama maka beberapa server bisa jadi menerima request lebih dari kemampuan processing server itu sendiri, sedangkan yang lainnya hanya akan menerima beban lebih sedikit dari resource yang dimiliki.
-
Weighted round-robin
Algoritma ini dapat melakukan perhitunggan perbedaan kemampuan processing dari masing-masing server anggota cluster. Administrator dapat memasukkan secara menual parameter beban yang akan ditangatangai oleh masing-masing server anggota cluster, kemudian schedulling sequence secara otomatis dilakukan berdasarkan beban server. Request tersebut kemudian akan diarahkan ke server yang berbeda sesuai dengan round-robin scheduling sequence.
-
Least-connection
Algoritma ini dapat melakukan pengiriman request pada server anggota cluster, berdasarkan pada server mana yang memiliki fewest connections.
-
Load-based
Algoritma ini dapat mengirimkan pake request ke server anggota cluster berdasarkan server mana yang akan memiliki beban terkecil.
Trik yang Bisa Dijalankan oleh Load Balancing
Administrator load balancer membuat peraturan penerutan untuk 4 jenir traffic utama berikut ini.
-
HTTP
Standar balancer HTTP akan mengarahkan permintaan dari mekanisme HTTP standar. Load balancer ini menetapkan header X-Forwarded-For, X-Forwarded-Proto, dan X-Forwarded-Port untuk memberi informasi mengenai permintaan awal.
-
HTTPS
Fungsi HTTPS hampir sama dengn HTTP hanya perlu penambahan enkripsi yang ditangani dengan salah satu dari dia cara yaitu dengan passthrough SSL yang menyimpan enkripsi sampai ke backend, atau dengan penghentian SSL yang menempatkan beban dengan deskripsi pada load balancer namun mengirimkan traffic yang tidak dienkripsi di bagian belakang.
-
TCP
Jika tidak menggunakan aplikasi dengan HTTP dan HTTPS maka bisa diimbangi dengan TCP. Misalnya trafik ke cluster database bisa tersebar di semua server.
-
UDP
Beberapa balancers beban telah menambahkan dukungan untuk protocol internet core balancing seperti DNS dan syslogd yang menggunakan UDP.
Diatas merupakan sedikit tentang pengenalan load balancing yang dapat Anda ambil. Semoga dapat menambah wawasan dan pengetahuan lebih untuk Anda dan dapat memudahkan Anda untuk menyerap informasi.
Terimakasih
Semoga Bermanfaat 😀