Load Balancer
Load balancer adalah komponen di depan sekelompok server yang membagi permintaan pengunjung ke beberapa mesin. Ia menerima request lebih dulu, memilih backend dengan aturan tertentu, lalu meneruskan. Yang sering dilupakan adalah bahwa komponen ini juga memutuskan ke mana trafik tidak boleh pergi, lewat health check.
Cara membagi permintaan
Round-robin memutar antar server secara bergiliran tanpa mempedulikan beban sesungguhnya. Least-connections mengirim permintaan ke mesin dengan jumlah koneksi aktif paling sedikit. IP hash menjaga pengunjung dari alamat yang sama ke server yang sama. Untuk aplikasi yang menyimpan sesi login di memori server, distribusi acak berbahaya: permintaan berikutnya jatuh ke mesin lain yang tidak mengenalinya, sehingga pengguna terlempar ke halaman login. Solusinya sticky session, yaitu persistensi sesi yang menahan satu pengunjung di server yang sama, atau memindahkan sesi ke penyimpanan bersama seperti Redis.
Health check dan failover
Balancer rutin memprobe setiap backend. Mesin yang mati atau mengembalikan error dikeluarkan dari rotasi sampai pulih, sehingga pengunjung tidak melihat respons rusak. Kalau semua backend gagal, yang tersisa adalah error 503 dari balancer itu sendiri. Bandingkan dengan round-robin DNS yang hanya menaruh beberapa alamat di record A: tidak ada probe, tidak ada pengetahuan kondisi server, dan permintaan tetap dikirim ke mesin yang sudah mati sampai TTL kedaluwarsa, sehingga failover-nya lambat dan tidak pasti.
Kapan Anda benar-benar butuh
Satu VPS dengan cache yang benar sudah cukup untuk mayoritas situs. Balancer masuk akal ketika trafik melewati kapasitas satu mesin dan menaikkan spesifikasi saja tidak lagi menolong, ketika downtime berarti kerugian nyata seperti toko yang memuncak saat kampanye, atau ketika Anda memang mengoperasikan beberapa server yang saling menggantikan. Di luar itu, paham istilah ini membantu Anda membaca spesifikasi paket dengan lebih kritis.
Kesalahan yang mahal
Membeli balancer sebelum bottleneck jelas. Kalau perlambatannya ada di query database, menambah server hanya memperbanyak koneksi ke database yang sama, jadi periksa dulu MySQL. Menganggap balancer menjamin uptime juga keliru, karena ia hanya berguna kalau ada lebih dari satu server sehat; satu server plus balancer adalah satu titik kegagalan dengan biaya tambahan, dan baca Uptime untuk standar yang realistis.
FAQ
Apakah load balancer membuat situs lebih cepat?
Ia tidak mempercepat satu permintaan tunggal. Ia menjaga satu server agar tidak kewalahan sehingga lebih banyak permintaan terlayani saat trafik naik.
Kenapa round-robin DNS bukan load balancer?
DNS hanya menyediakan daftar alamat dan tidak pernah mengecek server. Mesin yang mati tetap menerima trafik sampai record kedaluwarsa, sehingga tidak ada failover.
Apa itu sticky session?
Aturan yang mengirim pengunjung yang sama ke server yang sama. Dibutuhkan saat sesi login disimpan di memori server, dan bisa dihindari dengan memindahkan sesi ke penyimpanan bersama.
Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.
