- Layanan mikro sidecar yang dirancang untuk mendeteksi status klaster PostgreSQL secara real-time
- Dapat langsung memeriksa ketersediaan host, membedakan master/replica, dan latensi replica
- Arsitektur ringan dan berkinerja tinggi: penggunaan memori sekitar 9MiB, beban CPU rendah per permintaan, mampu menangani hingga 9000 permintaan per detik
- Semua data disajikan melalui respons berbasis memori untuk meminimalkan latensi permintaan
- Secara berkala melakukan polling status host PostgreSQL di latar belakang, lalu mengekspos hasilnya melalui HTTP API (respons Plain/JSON)
- Endpoint API utama
/master: mengembalikan host master saat ini
/replica: mengembalikan replica yang dipilih dengan algoritma round-robin
/sync_by_time, /sync_by_bytes: mengembalikan replica berdasarkan status sinkronisasi berdasarkan waktu atau byte
/hosts: daftar status semua host (JSON)
/status: melihat status detail host tertentu
- Konfigurasi berbasis environment variable: memungkinkan kontrol rinci atas connection timeout, batas latensi yang diizinkan, interval polling, dan lainnya
- Desain lock-free dengan satu writer dan banyak reader memberikan respons baca yang cepat sekaligus menjaga data tetap mutakhir
- Mengoptimalkan kecepatan respons dengan menerima kemungkinan ketidakkonsistenan data sementara
- Mencatat event saat layanan mulai/berhenti dan perubahan status ke stdout/stderr, serta menampilkan failover, pemulihan, dan perubahan status sinkronisasi secara real-time
- Dapat mensimulasikan skenario perpindahan master-replica berbasis proxy
Belum ada komentar.