Load balancer
Bagi pengunjung ke beberapa server dengan pemeriksaan kesehatan. Berjalan di server Anda sendiri; trafik tidak lewat Saka dan tidak ada biaya load balancer terpisah.
Istilah
- Penyeimbang: 1 atau 2 server yang menerima pengunjung. Dua penyeimbang di lokasi berbeda membuat load balancer tetap hidup walau satu mati.
- Server tujuan: server yang menjalankan aplikasi Anda. Semuanya harus melayani aplikasi yang sama di port yang sama.
- Pool cadangan (opsional): server yang dipakai hanya bila semua server tujuan tidak sehat, misalnya server di lokasi lain atau halaman pemeliharaan.
Mode proxy HTTP/HTTPS
Disarankan untuk situs dan aplikasi web. Penyeimbang menjalankan Caddy yang meneruskan pengunjung ke server tujuan yang sehat.
- HTTPS otomatis: sertifikat Let's Encrypt untuk domain Anda dipasang dan diperbarui sendiri. HTTP dialihkan ke HTTPS. Dengan dua penyeimbang, tantangan ACME yang bukan milik satu penyeimbang diteruskan ke rekannya, sehingga keduanya mendapat sertifikat sendiri tanpa menyalin kunci privat.
- Cek kesehatan tiap 5 detik ke alamat pemeriksaan pilihan Anda (bawaan
/). Server yang tidak sehat dilewati dan dipakai lagi begitu pulih. - Cara membagi pengunjung: bergiliran (setiap permintaan ke server berikutnya), koneksi tersedikit (ke server yang paling lengang), dan pilihan sticky (pengunjung tetap ke server yang sama lewat cookie, untuk aplikasi yang menyimpan sesi login di server).
- Port 80 dan 443 di penyeimbang harus bebas.
- Bila firewall Saka aktif di server tujuan, port aplikasi dibuka hanya untuk IP penyeimbang.
Mengarahkan domain
Setelah dibuat, halaman detail menunjukkan catatan DNS yang perlu dipasang di pengelola domain Anda (bila memakai Cloudflare, pakai "DNS only", awan abu-abu). Dengan dua penyeimbang, pasang dua A record per domain:
toko.contoh.id. A 203.0.113.10 ; penyeimbang 1
toko.contoh.id. A 198.51.100.20 ; penyeimbang 2Bila satu penyeimbang mati, browser pindah ke yang lain dengan sendirinya. HTTPS aktif otomatis setelah DNS mengarah; status sertifikat per domain terlihat di panel.
Alamat LB: <id>.lb.saka.work
Setiap load balancer mendapat alamat DNS sendiri, misalnya lbxxxxxxxxxx.lb.saka.work. Alamat ini didelegasikan ke penyeimbang Anda: server DNS di dalam agent penyeimbang menjawab hanya dengan alamat yang sehat (TTL 30 detik). Jadi aplikasi HP, klien API, dan webhook pun tidak diarahkan ke server mati.
Pasang CNAME dari subdomain Anda ke alamat itu:
www.contoh.id. CNAME lbxxxxxxxxxx.lb.saka.work.Server DNS itu hanya melayani zona load balancer, tanpa rekursi (pertanyaan lain ditolak), dan mendengarkan di IP publik penyeimbang (port 53).
Mode DNS saja
Untuk layanan apa pun, termasuk yang bukan web (TCP atau UDP). Tidak ada proxy: penyeimbang hanya menjadi name server yang menjawab dengan IP server tujuan yang sehat.
- Isian domain dikosongkan. Arahkan domain Anda dengan CNAME ke alamat
<id>.lb.saka.work. - HTTPS tidak dipasang di penyeimbang; urus di server tujuan.
- Penyeimbang boleh sekaligus menjadi server tujuan (hanya port 53 yang dipakai).
Pool cadangan
Pool cadangan dipakai hanya bila semua server tujuan tidak sehat. Bila tujuan dan cadangan semuanya mati, DNS tetap menjawab dengan tujuan utama (fail-open), agar layanan langsung kembali begitu salah satu pulih.
Notifikasi
Penyeimbang pertama mengirim notifikasi ke Telegram Anda saat server tujuan menjadi tidak sehat dan saat sehat lagi. Anda juga dikabari saat load balancer siap atau gagal dibuat.
Hasil uji (28 Sep 2026)
| Uji | Hasil |
|---|---|
| Proxy HTTPS, 2 penyeimbang, sertifikat asli, satu tujuan dimatikan | 148 dari 150 permintaan berhasil |
| Satu penyeimbang mati | Rekannya melayani |
| DNS: tujuan mati | Keluar dari jawaban dalam 6 detik |
| DNS: semua tujuan mati | Pool cadangan dipakai dalam 8 detik |
| DNS: tujuan pulih | Kembali dalam 12 detik |
| Hapus | Catatan DNS ikut dibersihkan |
Saka Panel tidak berada di jalur trafik maupun DNS. Bila Saka Panel mati, load balancer tetap berjalan.
Hapus
Hapus dari halaman detail dengan mengetik nama load balancer. Penyeimbang dihentikan, catatan DNS lb.saka.work-nya dihapus, dan izin port di server tujuan dicabut. Server tujuan dan aplikasinya tidak disentuh.
Bobot
Setiap server tujuan (dan cadangan) bisa diberi bobot 1-100. Server berbobot 3 menerima kira-kira tiga kali lebih banyak pengunjung daripada yang berbobot 1. Di mode proxy, Caddy membagi permintaan secara bergiliran berbobot (tidak berlaku bersama sticky session). Di mode DNS, setiap jawaban berisi satu alamat yang dipilih acak sesuai bobot; karena resolver menyimpan jawaban 30 detik, sebaran pengunjung mengikuti bobot.
Per wilayah (ke yang terdekat)
Centang Arahkan pengunjung ke yang terdekat saat membuat load balancer. DNS lalu memberi alamat penyeimbang (mode proxy) atau server tujuan (mode DNS) yang paling dekat dengan negara pengunjung. Bila yang terdekat tidak sehat, yang lain dipakai.
- Lokasi pengunjung dibaca dari subnet klien (EDNS Client Subnet) bila resolver mengirimkannya, selain itu dari lokasi resolver-nya.
- Lokasi server dideteksi otomatis dari IP-nya.
- Jaraknya dihitung antar titik tengah negara, jadi pengarahan ini setingkat negara, bukan kota.
- Basis data lokasi: IP Geolocation by DB-IP (CC BY 4.0), diunduh bulanan hanya di penyeimbang yang memakai fitur ini.