Load Balancing
Load balancing adalah proses navigasi lalu lintas dan distribusi beban kerja di beberapa komponen, yang dilakukan oleh jenis node khusus yang disebut load balancers. Di platform, node semacam itu ditambahkan secara otomatis saat application server scaling untuk mendistribusikan permintaan di antara backend. Selain itu, jika diperlukan, Anda dapat menambahkan dan men-scale instance load balancer secara manual dalam environment topology.
Platform menyediakan load balancing pada lapisan aplikasi (dokumen ini) dan lapisan infrastruktur (dijelaskan dalam dokumen Shared Load Balancer). Yang pertama menangani permintaan di dalam environment dan yang kedua - dari luar platform ke environment (kecuali koneksi langsung melalui public IP).
Saat ini, platform menyediakan dukungan out-of-box untuk lima stack load balancer yang dikelola berikut:
-
NGINX adalah salah satu server open-source paling populer di dunia, yang memberikan kinerja luar biasa kepada pelanggan, memastikan efisiensi aplikasi mereka. Menggunakan NGINX tidak memerlukan langkah tambahan atau pra-konfigurasi. Ini menawarkan Layer 7 load balancing bawaan dan caching konten untuk menyediakan platform hosting aplikasi yang hemat biaya dan sangat tersedia berkat skalabilitas, keamanan, dan efisiensi penggunaan sumber daya yang tinggi.
-
HAProxy (High Availability Proxy) adalah solusi open-source yang cepat dan andal yang dapat menangani lalu lintas besar serta menawarkan ketersediaan tinggi, load balancing, dan proxying untuk aplikasi berbasis TCP dan HTTP. Mirip dengan balancer NGINX, HAProxy menggunakan model penanganan permintaan single-process, event-driven. Ini mengonsumsi jumlah memori yang rendah (dan stabil), memungkinkan HAProxy memproses banyak permintaan bersamaan, memastikan load balancing yang mulus dengan persistensi pintar dan mitigasi DDOS.
-
Varnish adalah akselerator aplikasi web yang juga dikenal sebagai caching HTTP reverse proxy untuk situs web dinamis dengan lalu lintas tinggi. Tidak seperti server proxy lainnya, Varnish awalnya dirancang fokus secara eksklusif pada HTTP. Namun, dalam implementasi platform, ia disertakan dalam bundle dengan server NGINX (dijalankan sebagai proxy HTTPS), yang memberikan kemampuan untuk bekerja dengan data aman dan opsi Custom SSL. Fokusnya pada kecepatan terutama dicapai melalui caching, mempercepat situs web dengan mengurangi beban pengiriman objek statis.
-
Apache load balancer adalah server distribusi lalu lintas open-source yang menyediakan opsi kustomisasi tinggi melalui struktur modularnya. Apache balancer dapat dikonfigurasi untuk memenuhi persyaratan unik setiap environment, sekaligus memastikan manfaat seperti keamanan, ketersediaan tinggi, kecepatan, keandalan, dan autentikasi/otorisasi terpusat.
-
LiteSpeed Web ADC (Application Delivery Controller) adalah solusi load balancing HTTP dengan kinerja tinggi yang bersifat komersial. LiteSpeed mengimplementasikan semua teknologi terkini (mis. dukungan protokol transportasi HTTP/3 atau QUIC), menyediakan keamanan tingkat lanjut (perlindungan firewall aplikasi web, pemfilteran layer-7 anti-DDOS, dll.), kinerja tingkat enterprise (caching, akselerasi, optimisasi, offloading, dll.), dan masih banyak lagi.
Menggunakan beberapa compute nodes dengan load balancer adalah pendekatan yang disukai untuk tujuan produksi, karena ini memastikan redundansi dan ketersediaan sistem yang tinggi.
Backend Health Checks
Setiap load balancer di tingkat environment menyediakan implementasi health check default untuk memastikan backend dapat diakses dan berfungsi dengan benar. Temukan detail lengkapnya dalam daftar di bawah ini:
-
NGINX - pemeriksaan TCP check sederhana (mis. memverifikasi ketersediaan port server yang diperlukan) tepat sebelum meneruskan permintaan pengguna; jika pemeriksaan gagal, node berikutnya dalam layer akan dicoba
-
HAProxy - pemeriksaan TCP checks reguler (setiap 2 detik secara default), menyimpan hasilnya dalam tabel status backend dan terus memperbaruinya
-
Apache Balancer - tidak ada prosedur health check yang diterapkan secara default
-
Varnish - semua backend diberi parameter berikut dalam konfigurasi balancer (sehingga pemeriksaan kesehatan dilakukan sekali per menit dengan timeout 30 detik):
probe = { .url = "/"; .timeout = 30s; .interval = 60s; .window = 5; .threshold = 2; }
-
LiteSpeed ADC - pemeriksaan TCP check dilakukan oleh IP internal setiap detik dengan timeout satu detik (pemeriksaan kesehatan diterapkan sebagai fungsi default di level Worker Group)
Pengaturan default untuk health check jelas dapat disesuaikan secara manual sesuai kebutuhan Anda (baik melalui GUI file manager atau melalui SSH). Gunakan dokumentasi resmi sebagai referensi - NGINX, HAProxy, Apache Balancer, Varnish, dan LiteSpeed.