redisクラスタはまだ開発中なので、現段階で自分で簡単なものを構築したいと思っています。システムは、データ シャーディング、負荷分散、およびマスター スレーブ バックアップをサポートする必要があります。予備計画は次のとおりです。
マスター/スレーブ: データのセキュリティを強化するために、異なる場所で複数のマスター/スレーブ ペアを使用します。マスターは書き込み操作を担当し、マスターとスレーブの両方が読み取りサービスを提供できます。データは、1 回の書き込み操作中にすべてのマスターに送信されます。マスターとスレーブ間で Keepalived を使用して障害を検出し、マスターとスレーブを自動的に切り替えます。
データ シャーディング: 単一のマシンでメモリが十分でない場合に備えて、書き込み/読み取り中のデータ シャーディングをサポートするために、クライアント側で一貫したハッシュを書き込みます。
負荷分散: LVS を使用して、負荷分散のために読み取り要求を対応するサーバーにリダイレクトします。
私の質問は、LVS とデータ シャーディングを組み合わせる方法です。
たとえば、データのシャーディングにより、すべてのキーが分割され、サーバー A、B、および C に重複することなく格納されます。スレーブ バックアップと他のマスター/スレーブ ペアを考慮すると、システムには 1(A,B,C)、2(A,B,C)、3(A,B,C) などが含まれ、それぞれに 3 つサーバー。読み取り要求が来たときに、このような状況でリダイレクトをサポートするように LVS を構成するにはどうすればよいですか? または、同じ目標を達成するための redis の他のアプローチはありますか?
ありがとう:)