如何通过PostgreSQL在Ubuntu上构建高可用性架构以确保业务稳定运行?
- 内容介绍
- 文章标签
- 相关推荐
背景与主要痛点
因为互联网业務の发展很快データベース作为コアコンポーネントその安定性と信頼性はビジネスの継続性に直結します。PostgreSQLは機能が強力でオープンソースの関係データベースでありさまざまなビジネスシーンで広く利用されていますが実際のデプロイメントでは多くの運営チームが以下の痛みを抱えています:
-
単一障害ポイントのリスク】単一サーバーのダウンは全ビジネスの中断を引き起こしユーザー体験に影響を及ぼします。
-
手動フェイルオーバーが遅い】障害発見後の人的切り替えプロセスは冗長で長時間ビジネスが利用できなくなる可能性があります。不过,
- データ同期の不確実】ストリーミングレプリケーションの状態をリアルタイムで監視するのは困難でデータ遅延や不整合が発生するリスクがあります。
- 運用設定が複雑】高可用ソリューションはVIPスイッチング、レプリケーション、モニタリングスクリプトなど複数コンポーネントの協調を伴い設定閾値が高いです。}
- データ同期の不確実】ストリーミングレプリケーションの状態をリアルタイムで監視するのは困難でデータ遅延や不整合が発生するリスクがあります。
说到方針1,双機ホットスタンバイ+Keepalivedによる基礎実装
双機ホットスタンバイは最も直感的に高可用を実現する方法で2台のサーバーを採りその中から一方をプライマリとして外部にサービスを提供しもう一方をスタンバイとして待機させます。Keepalivedツールを使用して仮想IPの自動フェイルオーバーを実現しプライマリがダウンした際Vipが automatically スタンバイサーバーに転送されサービスの復旧を早めます。
Ubuntu上でKeepalved를実施する基本ステップは次の通りです:
1."sudo apt-get install keepaived"でKeepaveded을インストールします。
設定ファイルエディタにてメイン側サーバー設定ファイルを開いて仮想IPと対応するプライマリーサーバーのIPアドレス を設定します。同様にスタンバイ側サーバー設定ファイルを開いて仮想IPとスタンバイ側サーバー IP アドレス を設けます。PostgreSqlモニタスクリプトを開発しPostgreSqlサービス状態チェックを行います;メインノードでのPostgreSqlが停止した場合Keepaedede検出後にフェイルオーバーメカニズムトリガやVP削除処理を行います。)
人為介入時間ゼロのために自動フェイルオバーアー選択肢となります。Patron i はPostgreSql専門的に設計されたHA管理ツールでConsulや etcdなどキー値ストレージと組み合わせて自動選択とフェイルオバーアーを実現します。
背景与主要痛点
因为互联网业務の发展很快データベース作为コアコンポーネントその安定性と信頼性はビジネスの継続性に直結します。PostgreSQLは機能が強力でオープンソースの関係データベースでありさまざまなビジネスシーンで広く利用されていますが実際のデプロイメントでは多くの運営チームが以下の痛みを抱えています:
-
単一障害ポイントのリスク】単一サーバーのダウンは全ビジネスの中断を引き起こしユーザー体験に影響を及ぼします。
-
手動フェイルオーバーが遅い】障害発見後の人的切り替えプロセスは冗長で長時間ビジネスが利用できなくなる可能性があります。不过,
- データ同期の不確実】ストリーミングレプリケーションの状態をリアルタイムで監視するのは困難でデータ遅延や不整合が発生するリスクがあります。
- 運用設定が複雑】高可用ソリューションはVIPスイッチング、レプリケーション、モニタリングスクリプトなど複数コンポーネントの協調を伴い設定閾値が高いです。}
- データ同期の不確実】ストリーミングレプリケーションの状態をリアルタイムで監視するのは困難でデータ遅延や不整合が発生するリスクがあります。
说到方針1,双機ホットスタンバイ+Keepalivedによる基礎実装
双機ホットスタンバイは最も直感的に高可用を実現する方法で2台のサーバーを採りその中から一方をプライマリとして外部にサービスを提供しもう一方をスタンバイとして待機させます。Keepalivedツールを使用して仮想IPの自動フェイルオーバーを実現しプライマリがダウンした際Vipが automatically スタンバイサーバーに転送されサービスの復旧を早めます。
Ubuntu上でKeepalved를実施する基本ステップは次の通りです:
1."sudo apt-get install keepaived"でKeepaveded을インストールします。
設定ファイルエディタにてメイン側サーバー設定ファイルを開いて仮想IPと対応するプライマリーサーバーのIPアドレス を設定します。同様にスタンバイ側サーバー設定ファイルを開いて仮想IPとスタンバイ側サーバー IP アドレス を設けます。PostgreSqlモニタスクリプトを開発しPostgreSqlサービス状態チェックを行います;メインノードでのPostgreSqlが停止した場合Keepaedede検出後にフェイルオーバーメカニズムトリガやVP削除処理を行います。)
人為介入時間ゼロのために自動フェイルオバーアー選択肢となります。Patron i はPostgreSql専門的に設計されたHA管理ツールでConsulや etcdなどキー値ストレージと組み合わせて自動選択とフェイルオバーアーを実現します。

