デフォルトでは、Tair (Enterprise Edition) インスタンスは非同期モードを使用します。データの耐久性が重要なシナリオでは、コンソールで同期モードを半同期に変更して、データセキュリティを向上させることができます。このモードでは書き込みレイテンシが増加し、数百マイクロ秒 (μs) から数ミリ秒 (ms) 程度の範囲になります。このモードは、強力な整合性が必要で、書き込みレイテンシがわずかに増加しても許容されるシナリオに適しています。
前提条件
インスタンスは次の要件を満たしています。
インスタンスは、Redis 6.0 以降と互換性があり、マイナーバージョン 24.8.0.0 以降を実行している DRAM ベースのインスタンスです。
インスタンスは、マイナーバージョンが 2.5.2 以降の ESSD/SSD ベースのインスタンスです。
以前のバージョンのインスタンスでは、同期モードを変更できません。インスタンスのマイナーバージョンを更新する方法については、「マイナーバージョンとプロキシバージョンを更新する」をご参照ください。
同期モードの概要
オープンソースの Redis は、マスターノードとレプリカノード間のデータ同期に非同期レプリケーションメカニズムを使用します。このモードでは、マスターノードがリクエストを処理してクライアントに応答を返した後、システムはマスターノードからレプリカノードにデータを同期します。この場合、インスタンスの障害によってマスターレプリカのスイッチオーバーがトリガーされると、マスターノードとレプリカノード間でデータの不整合が発生する可能性があります。
半同期モードでは、マスターノードがリクエストを処理した後、システムはマスターノードからレプリカノードにログを同期します。マスターノードは、レプリカノードから成功応答を受信するまで、クライアントに応答しません。このようにして、スイッチオーバーの目標復旧時点 (RPO) を 0 にすることができます。これは、スイッチオーバーでデータが失われないことを示します。
次の図は、これら 2 つのモードのしくみを示しています。
手順
コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスを見つけて、インスタンス ID をクリックします。
[基本情報] セクションの右上隅にある [同期モードの変更] をクリックします。
表示されたパネルで、次の表に示すパラメーターを設定します。
パラメーター
説明
同期モード
デフォルト値: 非同期。有効値:
半同期: レプリカノードがログを受信した後でのみ、マスターノードはクライアントに応答します。
重要レプリカノードが使用できない場合、またはマスターノードとレプリカノード間の通信に異常がある場合、半同期レプリケーションは非同期レプリケーションにダウングレードされます。
非同期: 非同期レプリケーションメカニズムが使用されます。
ダウングレードのしきい値
このパラメーターは、同期モードを 半同期 に設定した場合にのみ使用できます。単位: ms。有効値: 10 ~ 60000。デフォルト値: 500。
マスターノードとレプリカノード間のデータ同期のレイテンシがしきい値を超えると、同期モード は自動的に 非同期 に変更されます。レイテンシがしきい値よりも低い値に下がると、同期モード は自動的に 半同期 に戻ります。
[OK] をクリックします。