ODPはサービスを保証するために高可用性が必要です。ユーザーのリクエストはまずODPに到達しますが、ODPに異常が発生した場合、ユーザーのリクエストは正常に処理されません。ODPはまた、データベースクラスタノードの障害を処理し、適切なフォールトトレランス処理を行う必要があります。
ODPはOceanBaseクラスタとは異なり、永続的な状態を持ちません。その動作に依存するすべてのデータ情報はデータベースへのアクセスから得られるため、ODPの障害によってデータが失われることはありません。ODPも複数のノードで構成されるクラスタがサービスを提供しますが、ユーザーのリクエストを具体的にどのODPノードが実行するかは、ユーザーのF5キー操作や他のロードバランシングコンポーネントが担当します。また、ODPのあるノードに障害が発生した場合も、ロードバランシングコンポーネントが自動的にそのノードを除外し、以降のリクエストが障害ノードに送信されないようにします。
ODPの動作過程では、データベースクラスタの状態をリアルタイムで監視します。一方で、ODPはクラスタのシステムテーブルをリアルタイムに取得し、システムテーブルを通じて各データベースノードの健全状態やパーティションのリアルタイム位置を把握します。もう一方で、ODPはネットワーク接続を介してデータベースノードのサービス状態を検出し、異常が発生した場合は該当ノードの障害状態をマークして対応するサービス切り替えを行います。
関連ドキュメント
ODPの詳細については、プロキシの概要を参照してください。