Tair (Redis OSS-compatible) は、さまざまなシナリオで大量の重要なデータを保存するために使用できる、高性能なkey-valueデータベースサービスです。 このトピックでは、Tair (Redis OSS-compatible) が提供するディザスタリカバリソリューションについて説明します。
ディザスタリカバリソリューションの進化
インスタンスは、データセンターのデバイス障害や電源障害など、いくつかの理由で障害が発生する可能性があります。 この場合、ディザスタリカバリは、データの一貫性とサービスの可用性を確保するのに役立ちます。
図 1. ディザスタリカバリソリューションの進化
災害復旧ソリューション | 保護レベル | 説明 |
★★★☆☆ | マスターノードとレプリカノードは、同じゾーン内の異なるマシンにデプロイされます。 マスターノードに障害が発生した場合、高可用性 (HA) システムはフェールオーバーを実行して、単一障害点 (SPOF) によるサービスの中断を防ぎます。 | |
★★★★☆ | マスターノードとレプリカノードは、同じリージョンの2つの異なるゾーンにデプロイされます。 マスターノードが存在するゾーンが電源障害やネットワーク障害などの要因によって切断された場合、HAシステムはフェールオーバーを実行してインスタンス全体の継続的な可用性を確保します。 | |
★★★★★ | グローバル分散キャッシュのアーキテクチャでは、分散インスタンスは、同期チャネルを使用してリアルタイムでデータを同期する複数の子インスタンスで構成されます。 チャネルマネージャは、子インスタンスのヘルスステータスを監視し、子インスタンスで発生する例外 (プライマリデータベースとセカンダリデータベース間の切り替えなど) を処理します。 グローバル分散キャッシュは、ジオディザスタリカバリ、アクティブなジオ冗長性、近隣のアプリケーションアクセス、負荷分散などのシナリオに適しています。 |
シングルゾーンHAソリューション
すべてのインスタンス
シングルゾーンHAアーキテクチャをサポートします。 HAシステムは、マスターノードとレプリカノードのヘルスステータスを監視し、SPOFによるサービスの中断を防ぐためにフェイルオーバーを実行します。
デプロイメントアーキテクチャ | 説明 |
図2. 標準マスターレプリカインスタンスのHAアーキテクチャ 標準のマスターレプリカインスタンスは、マスターレプリカアーキテクチャで実行されます。 HAシステムがマスターノードの障害を検出すると、システムはワークロードをマスターノードからレプリカノードに切り替え、レプリカノードがマスターノードの役割を引き受けます。 復旧後、元のマスターノードはレプリカノードとして機能します。 | |
図3. クラスタマルチレプリカインスタンスのHAアーキテクチャ クラスターマルチレプリカインスタンスでは、データはデータシャードに格納されます。 各データシャードは、マスターノードと複数のレプリカノードで構成されています。 マスターノードとレプリカノードは、HAアーキテクチャの異なるマシンにデプロイされます。 マスターノードに障害が発生した場合、HAシステムはマスター /レプリカの切り替えを実行して、高いサービス可用性を確保します。 | |
図4. 読み書き分離インスタンスのHAアーキテクチャ
|
ゾーンディザスタリカバリソリューション
Tair標準インスタンスとクラスターインスタンスは、2つのデータセンターにわたるゾーンディザスタリカバリをサポートしています。 ワークロードが単一のリージョンにデプロイされており、ディザスタリカバリが必要な場合は、Tairインスタンスの作成時にゾーンディザスタリカバリをサポートするゾーンを選択できます。 Tairインスタンスの作成方法の詳細については、「手順1: インスタンスの作成」をご参照ください。
図5. ゾーンディザスタリカバリインスタンスの作成
ゾーンディザスタリカバリインスタンスを作成すると、マスターノードと同じ仕様のレプリカノードがマスターノードとは異なるゾーンにデプロイされます。 マスターノードは、専用チャネルを介して複製ノードにデータを同期させる。
マスターノードで停電やネットワークエラーが発生した場合、レプリカノードはマスターノードの役割を引き受けます。 システムは、プロキシノードのルーティング情報を更新するために構成サーバー上でAPI操作を呼び出します。 Tairは、最適化されたRedis同期メカニズムも提供します。 MySQLのグローバルトランザクション識別子 (GTID) と同様に、Tairはグローバルオペレーション識別子 (OpID) を使用して同期オフセットを示し、バックグラウンドでロックフリーのスレッドを実行してOpIDを検索します。 システムは、追加専用ファイル (AOF) バイナリログ (binlog) をマスターノードからレプリカノードに非同期に同期します。 同期を調整して、最適なサービスパフォーマンスを確保できます。
リージョン間のディザスタリカバリソリューション
ビジネスが複数のリージョンに拡大すると、リージョン間および長距離アクセスでは、レイテンシが大きくなり、ユーザーエクスペリエンスが低下する可能性があります。 Alibaba Cloud Tairのグローバル分散キャッシュ機能は、クロスリージョンアクセスによって引き起こされる高レイテンシを削減するのに役立ちます。 この機能には次の利点があります。
子インスタンスを直接作成したり、アプリケーションに冗長性を組み込むことなく同期する必要がある子インスタンスを指定したりできます。 これにより、アプリケーション設計の複雑さが大幅に軽減され、アプリケーション開発に集中できるようになります。
geo-disaster recoveryまたはactive geo-redundancyを実装するgeoレプリケーション機能を提供します。
この機能は、リージョン間のデータ同期シナリオと、マルチメディア、ゲーム、eコマースなどの業界でのグローバルなビジネス展開に適用されます。 詳細については、「Tairのグローバル分散キャッシュの概要」をご参照ください。
図7. Tairのグローバル分散キャッシュのアーキテクチャ