用のグローバル分散キャッシュTair (Redis OSS-compatible) は、リージョン間または長距離アクセス中に発生する可能性のある高遅延の問題に対処するために、Alibaba Cloudによって社内で開発されたアクティブな地理的冗長性データベースシステムです。 このシステムにより、異なる地域の複数のサイトから同時に簡単にサービスを提供できます。 分散インスタンスは、最大3つの子インスタンスで構成できます。 データは子インスタンス間でリアルタイムで自動的に同期されます。 グローバル分散キャッシュは、データとユーザーの間の地理的距離を縮めるように設計されており、その結果、アクセス遅延を低減し、アプリケーションの応答速度を向上させます。 また、地理的に異なる場所でのディザスタリカバリも容易になります。
背景情報
ビジネスが急速に成長し、さまざまなリージョンに分岐すると、リージョン間および長距離アクセスの結果、レイテンシが大きくなり、ユーザーエクスペリエンスが低下する可能性があります。 Tairのグローバル分散キャッシュは、クロスリージョンアクセスに起因する高レイテンシを削減するのに役立ちます。 グローバル分散キャッシュには次の利点があります。
アプリケーションに冗長性を組み込むことなく、子インスタンスを直接作成したり、同期が必要な子インスタンスを指定したりできます。 これにより、アプリケーション設計の複雑さが大幅に軽減され、アプリケーション開発に集中できます。
geo-disaster recoveryまたはactive geo-redundancyを実装するgeoレプリケーション機能を提供します。
この機能は、リージョン間のデータ同期シナリオと、マルチメディア、ゲーム、eコマースなどの業界でのグローバルなビジネス展開に適用されます。
シナリオ | 説明 |
アクティブなgeo冗長性 | アクティブな地理的冗長性のシナリオでは、異なるリージョンの複数のサイトが同時にサービスを提供します。 アクティブなgeo冗長性は、高可用性アーキテクチャの一種です。 従来のディザスタリカバリ設計との違いは、すべてのサイトがアクティブな地理的冗長性アーキテクチャで同時にサービスを提供することです。 これにより、アプリケーションは近くのノードに接続できます。 |
ディザスタリカバリ | グローバル分散キャッシュは、ゾーンディザスタリカバリ、2つのリージョンにまたがる3つのデータセンターに基づくディザスタリカバリ、3リージョンのディザスタリカバリなどのディザスタリカバリシナリオをサポートするために、子インスタンス間でデータを両方向に同期できます。 |
負荷分散 | 超高クエリ /秒 (QPS) と大量のアクセストラフィックが予想される大規模なプロモーションイベントなどの特定のシナリオでは、子インスタンス間で負荷を分散して、1つのインスタンスが過負荷になるリスクを軽減できます。 |
データ同期 | グローバル分散キャッシュは、分散インスタンス内の子インスタンス間で双方向データ同期を実行できます。 この機能は、データ分析やテストなどのシナリオで使用できます。 |
グローバル分散キャッシュのアーキテクチャ
Tairのグローバル分散キャッシュのアーキテクチャでは、分散インスタンスは、分散された子インスタンスと同期チャネルの論理的なコレクションです。 これらの同期チャネルを使用して、子インスタンス間でデータがリアルタイムで同期されます。 分散インスタンスは、次のコンポーネントで構成されます。
子インスタンス
子インスタンスは、分散インスタンスを構成する基本サービスユニットです。 各子インスタンスは独立したTairインスタンスです。 すべての子インスタンスは、読み取りおよび書き込み可能です。 データは、両方向の子インスタンス間でリアルタイムに同期されます。 分散インスタンスはgeoレプリケーションをサポートしています。 異なるリージョンに子インスタンスを作成して、ジオディザスタリカバリまたはアクティブなジオ冗長性を実装できます。
説明子インスタンスは、 ApsaraDB for Redis Enhanced Edition (Tair) のDRAMベースのインスタンスである必要があります。
同期チャネル
同期チャネルは、ある子インスタンスから別の子インスタンスにリアルタイムでデータを同期するために使用される一方向リンクです。 2つの子インスタンス間の双方向レプリケーションを実装するには、2つの反対の同期チャネルが必要です。
説明オープンソースRedisでサポートされている追加専用ファイル (AOF) に加えて、 Tairのグローバル分散キャッシュには、同期用のサーバーidやopidなどの情報が含まれています。 グローバル分散キャッシュは、データを同期するために同期チャネル経由でbinlogを送信します。
チャンネルマネージャー
チャネルマネージャは、同期チャネルのライフサイクルを管理し、子インスタンスで発生する例外 (プライマリデータベースとセカンダリデータベースの切り替え、セカンダリデータベースの再構築など) を処理する操作を実行します。
メリット
メリット | 説明 |
高信頼性 |
|
高パフォーマンス |
|
高精度 |
|
課金
分散インスタンスの作成には課金されません。 分散インスタンス内の子インスタンスのみが、その仕様に基づいて課金されます。 子インスタンスは、通常の Tairインスタンスと同じ方法で課金されます。 詳細については、「」「課金アイテム」をご参照ください。