8 ポイント 投稿者 xguru 2026-01-29 | まだコメントはありません。 | WhatsAppで共有
  • PostgreSQLクラスターの状態をリアルタイムで検知するために設計されたサイドカー型マイクロサービス
  • ホストの生存可否マスター/レプリカの判別レプリカ遅延時間を即座に確認可能
  • 軽量・高性能な構造: メモリ使用量は約9MiB、リクエストあたり低いCPU負荷で毎秒最大9000リクエストを処理
  • すべてのデータはメモリベースのレスポンスとして提供され、リクエスト遅延を最小化
  • バックグラウンドで定期的にPostgreSQLホストの状態をポーリングし、その結果をHTTP APIとして公開(Plain/JSONレスポンス)
  • 主なAPIエンドポイント
    • /master: 現在のマスターホストを返す
    • /replica: ラウンドロビンアルゴリズムで選択されたレプリカを返す
    • /sync_by_time, /sync_by_bytes: 時間またはバイト単位の同期状態を基準にしたレプリカを返す
    • /hosts: すべてのホストの状態一覧(JSON)
    • /status: 特定ホストの詳細な状態を照会
  • 環境変数ベースの設定: 接続タイムアウト許容遅延上限ポーリング周期などを細かく制御可能
  • 単一writerと多数のreaderで構成されたロックフリー(lock-free)設計により、高速な読み取りレスポンスと最新データの維持を実現
    • 一時的なデータ不整合の可能性を許容しつつ、応答速度を最適化
  • サービスの開始・終了および状態変更イベントをstdout/stderrに記録し、フェイルオーバー復旧同期状態の変化をリアルタイムで表示
  • マスター-レプリカ切り替えシナリオをプロキシベースでシミュレーション可能

まだコメントはありません。

まだコメントはありません。