Sesi 14: Ketika Satu Gedung Tidak Cukup: GTM, Multi-DC, & Anycast DNS
Bagaimana jika seluruh gedung yang menampung sistem kita padam bersamaan — dan ternyata server cadangan yang menyelamatkan kita di Sesi 13 kemarin berada di gedung yang sama persis?
1. Bayangkan Jika
Sebuah bank memasang dua brankas tercanggih yang saling menduplikasi data secara real-time. Jika brankas A rusak, brankas B langsung mengambil alih dalam hitungan detik. Semua orang merasa aman.
Namun suatu malam, gardu listrik pusat di jalan raya depan bank meledak dan pipa saluran air utama bocor, membanjiri seluruh lantai bawah tanah gedung. Kedua brankas mati bersamaan. Cadangan lokal (Local High Availability) tidak berdaya saat seluruh lingkungan fisiknya runtuh.
2. Apa yang Sebenarnya Terjadi
Semua teknik load balancing yang kita pelajari dari Sesi 9 hingga Sesi 13 berada di level LTM (Local Traffic Manager). LTM bertugas membagi beban di dalam satu dinding data center.
Ketika kita ingin bertahan dari bencana fisik (kebakaran, pemadaman listrik massal, putusnya kabel fiber optik bawah laut), sistem harus melompat ke level global:
-
Availability Zone (AZ) vs Region: - AZ: Satu atau beberapa data center terpisah dengan jarak beberapa kilometer (daya listrik, generator, pendingin, dan koneksi internet independen), tetapi latency antar-AZ sangat rendah (< 1–2 ms). - Region: Wilayah geografis yang terpisah ratusan hingga ribuan kilometer (misal: Jakarta vs Singapura). Latency antar-region nyata (15–30 ms).
-
GTM (Global Traffic Manager) / GSLB (Global Server Load Balancing): - Bukan mendistribusikan paket data TCP/HTTP secara langsung, melainkan bekerja di level DNS. - Ketika browser pengguna meminta IP
app.perusahaan.com, GTM mengecek status kesehatan data center dan lokasi pengguna:- Pengguna dari Jakarta diarahkan ke IP DC Jakarta (
103.x.x.x). - Pengguna dari Tokyo diarahkan ke IP DC Tokyo (
133.x.x.x). - Jika DC Jakarta mati, GTM otomatis menjawab DNS dengan IP DC cadangan.
- Pengguna dari Jakarta diarahkan ke IP DC Jakarta (
-
Anycast Routing (BGP): - Alih-alih mengandalkan DNS TTL yang lambat di-update oleh cache ISP, beberapa data center di seluruh dunia mengumumkan satu IP address publik yang persis sama lewat protokol BGP (Border Gateway Protocol). - Router internet secara otomatis mengarahkan paket data ke data center terdekat secara topologi jaringan. Jika satu DC mati, rute BGP ditarik (withdrawn), dan trafik langsung beralih instan tanpa menunggu DNS refresh.
3. Bagaimana Jika Kita Coba...
"Kita pasang DNS Failover dengan TTL 60 detik saja!"
Mengapa ini sering gagal total saat insiden? - DNS Caching yang Membandel: Resolver ISP lokal pengguna sering mengabaikan TTL rendah dan men-cache record DNS selama berjam-jam (TTL overriding). - Akibatnya: DC utama sudah padam total, namun 40% pengguna masih terus mengirim trafik ke reruntuhan DC lama karena cache DNS mereka belum kedaluwarsa. - Multi-DC Replication Lag: Mengirim data sinkron antar benua terbentur kecepatan cahaya di serat optik. Jika replikasi asinkron, saat bencana terjadi, data 5 detik terakhir di DC utama belum sempat menyeberang ke DC cadangan (menghasilkan data loss atau RPO > 0).
4. Nama Resminya
- GTM / GSLB (Global Traffic Manager): Load balancer berbasis DNS cerdas multi-wilayah.
- LTM (Local Traffic Manager): Load balancer internal data center (HAProxy, F5 BIG-IP LTM, NGINX).
- Anycast BGP: Metode perutean satu IP address ke banyak lokasi data center.
- Split Horizon / GeoDNS: Mengembalikan IP berbeda berdasarkan lokasi geografis client IP.
- Dual-Region Active-Passive / Active-Active: Pola arsitektur multi-wilayah.
5. Di Dunia Kita
Di platform seperti AWS/GCP/Cloudflare: - Cloudflare / AWS Route 53 / Akamai GTM: Mengatur routing DNS dan health checking endpoint di tiap region. - Anycast CDN: Edge network menerima koneksi TLS di kota terdekat pengguna, lalu meneruskan ke origin data center lewat jaringan backbone privat. - Chaos Engineering (Region Evacuation Drill): Tim engineering sengaja mematikan DNS ke satu region utama saat jam kerja untuk membuktikan bahwa region sekunder sanggup menampung 100% beban tanpa menumbangkan database.
6. Lensa Performance Tester
Metrik dan pengujian krusial: 1. DNS Failover Convergence Time: Berapa menit waktu nyata yang dibutuhkan hingga 99% trafik dunia benar-benar berpindah saat satu data center dimatikan? 2. Cross-Region Latency Penalty: Berapa lonjakan RTT (Round Trip Time) saat pengguna Indonesia dipaksa dialihkan ke data center Singapura atau Jepang? 3. Replication Lag Under Load: Berapa milidetik jeda replikasi database antar DC saat beban write puncak? 4. Capacity Headroom: Apakah DC cadangan memiliki kapasitas server dan koneksi DB yang cukup untuk menampung double load secara mendadak?
7. Pertanyaan untuk Ronde Berikutnya
Sekarang kita tahu cara mengarahkan trafik ke gedung-gedung di seluruh dunia. Tapi di dalam gedung-gedung itu, siapa yang sebenarnya bertugas melahirkan, mematikan, dan menyembuhkan ratusan container server dalam hitungan detik tanpa bantuan manusia?
Jawabannya ada di Sesi 15: Robot yang Menjaga Pod Tetap Hidup (Kubernetes & Container Orchestration).