Strategi Failover Database: Pasif vs Aktif
Untuk sistem keuangan, data harus tersedia 99,99% dari waktu yang ada. Ketika database utama gagal, sistem harus secara otomatis beralih ke replika siaga tanpa kehilangan data.
Mode Replikasi
- Synchronous Replication: Primary menunggu standby untuk mengonfirmasi penerimaan data sebelum melakukan commit.
- Kelebihan: Tanpa kehilangan data (RPO = 0).
- Kekurangan: Latensi lebih tinggi (Menunggu jaringan/disk pada replika).
- Asynchronous Replication: Primary melakukan commit segera dan mengirim data ke replika nanti.
- Kelebihan: Sangat cepat.
- Kekurangan: Potensi kehilangan data saat terjadi crash.
Alur Failover
Arch Note
Interactive logic enabled. Click components in expanded view for technical service definitions.
Masalah Split Brain
Ketika dua node database sama-sama berpikir bahwa mereka adalah "Primary", mereka berdua dapat menerima penulisan, yang menyebabkan kerusakan data.
Solusinya: Mekanisme berbasis Quorum atau Cluster Manager khusus (seperti Patroni untuk PostgreSQL) yang memastikan hanya satu node yang terpilih sebagai pemimpin setiap saat menggunakan algoritma Raft atau Paxos.
Metrik Pemantauan
Untuk memastikan failover yang sehat, pantau:
- Replication Lag: Seberapa jauh replika tertinggal dari primary?
- Disk I/O: Apakah replika kesulitan menulis stream yang masuk?
- Lock Contention: Apakah proses vacuum atau query yang berjalan lama memblokir alur replikasi?
Desain database high-availability adalah keterampilan penting untuk membangun sistem fintech yang tangguh dalam skala besar.