Redis のレプリケーション機能の仕組み
Redisのレプリケーション機能は、Redisのレプリケーション機構によって実現されています。Redisのレプリケーション機構は主に、以下のようなステップで構成されています。
- 主ノードはRDBスナップショットファイルを作成し、そのファイルを従ノードに送信します。RDBスナップショットファイルには、主ノードの現在のデータベース内のすべてのキーと値のペアが含まれます。
- ノードがRDBスナップショットファイルを受信すると、自身のデータベースは空になり、受信したRDBスナップショットファイルを使用して自身データベースが再生成されます。
- マスターノードは、自身が受け付けたすべてのWriteコマンド(SET, DELなど)をスレーブノードに送信します。
- スレーブノードはマスターノードからの書き込みコマンドを受け取ると、それを実行し、結果をマスターノードに返します。
- 主ノードは受け取った書き込みコマンドをすべての接続された従ノードに転送します。
- ノードが書き込みコマンドを受信した後、そのコマンドが実行されて、その結果がメインノードに返されます。
上記のコピーメカニズムにより、マスターノードのデータはスレーブノードに同期され、データのコピーとバックアップが実現します。Redis の複製プロセスで、マスターノードは書き込みコマンドの処理を担当し、スレーブノードはそれらの書き込みコマンドを受け取って実行し、データの一貫性を維持します。