Layer-7 Load Balancing yang Adaptif, Cepat, dan Andal

Arsitektur L7LB memahami konten & konteks permintaan. Implementasi menggunakan Nginx/OpenResty + Lua untuk geo-aware routing dan dynamic routing logic.

Termasuk latency probing antar server, health check via socket, dan fallback otomatis jika terjadi kegagalan sehingga performa, reliabilitas, dan adaptivitas layanan meningkat.

Ramah latensi • Failover cepat • Skalabel

Fitur Utama

Geo-Aware Routing

Deteksi lokasi pengguna lalu arahkan ke server terdekat untuk latensi minimal.

Dynamic Routing Logic

Keputusan berdasarkan header/URL & metrik jaringan real-time.

Latency Probing

Ukur RTT dan pilih jalur tercepat secara adaptif.

Health Check via Socket

Eksklusi node tidak sehat agar trafik hanya ke server siap.

Fallback Otomatis

Alihkan permintaan ke region sehat ketika gangguan terjadi.

Adaptif & Skalabel

Tambah node mudah—langsung ikut siklus health check & routing.

Arsitektur Sistem

OpenResty/Nginx bertindak sebagai Load Balancer (Reverse Proxy) yang mengeksekusi logika Lua pada Layer-7. Keputusan routing mempertimbangkan konten HTTP, lokasi pengguna, dan kesehatan + latensi backend.

  • Client: Browser / App.
  • Load Balancer: OpenResty + Lua (geo-aware, health check, EWMA, failover).
  • Backend/Upstream: Server identik lintas region (SG, JKT, US).

Alur Algoritma (5 Tahap)

1) Geo-Proximity Selection

Deteksi lokasi via GeoIP (MMDB) → bentuk kandidat pool regional terdekat.

2) Health Check Filtering

Socket check berkala; gagal ≥3× berturut-turut → tandai unhealthy.

3) Latency Measurement

Ukur RTT ke tiap backend sehat; simpan di cache.

4) Smart Routing (EWMA)

Gabungkan latensi terbaru + historis (EWMA) agar stabil namun responsif.

5) Failover & Failback

Jika kandidat regional gagal → alihkan ke prioritas berikutnya. Node pulih ≥3× lolos HC → failback.

Terminologi

Komponen
Istilah Setara
Client
User, Requester, End-User
Load Balancer
Reverse Proxy, Frontend Server, Gateway
Backend
Upstream Server, Origin, Application Node

Rencana Pengujian

Skenario A – Kinerja Normal

1000 virtual users • 5 menit. Bandingkan Geo-Aware L7 vs Round Robin pada:

  • Waktu Respons Rata-rata (ms)
  • Throughput (req/s)

Skenario B – Uji Failover

Matikan satu backend di menit ke-2, amati:

  • Tingkat Keberhasilan Permintaan (%)
  • Perubahan latensi saat alih rute

Alat & Lingkungan

JMeter/k6 (load), ping & htop (observasi); backend SG/JKT/US pada infrastruktur cloud.