ElastiCache で 1 つのマスターと 2 つのスレーブを使用して Redis をセットアップしています。マスターのフェールオーバーは既に処理されていますが、次のことを確認したいと思います。
- 読み取りは 3 つのサーバー間で負荷分散されます
- 書き込みはマスターにのみ行われます
- 読み取りが失敗した場合は、別のノードで再試行します
redis-pyでこれを実現するのに苦労しています:
1) 接続プーリングをサポートしています (そして、この方法でクライアント側のシャーディングをサポートできることを示唆しています) が、エラー時に再試行するかどうかはドキュメントに明記されていません。
2) あるタイプの接続が読み取り用で、別のタイプの接続が書き込み用であるかどうかを指定する明確な方法を提供しません... 2 つの StrictRedis インスタンスを作成できると思いますか?
これを処理する最善の方法についてのアイデアはありますか? これに取り組んでいるプロジェクトがいくつかあるようですが、過去 2 年間にコミットしたプロジェクトはありません。