具体需求是这样的,
这里的Redis是做存储的,不只是做缓存,例如任务队列,用户动态等
一主多从的Redis实例集群,当主发生故障的时候,如何能:
1、自动选出一个新的主实例
2、不需要应用端修改配置,自动将写请求切换到这个新的主实例上
PHPz2017-04-24 09:11:53
Redis 2.8 の Sentinel で要件を達成できます。
その主な目的は、マスターとスレーブが何らかの障害により失敗した場合に、
を監視することです。
クラスターのセンチネルは、構成 とアルゴリズム 、
を通じてスレーブ内の新しいマスターを選択します。
また、他のスレーブとセンチネルに、sentinel.conf 内の関連する設定が自動的に変更され、redis.conf ファイルを手動で変更する必要がないことを通知します。
本来の主人が奴隷になりました。
Sentinel がクラスター状態であるかどうかを設定する必要はありません。次のように、sentinel.conf で同じモニターを設定するだけです。
センチネル モニター mymaster 127.0.0.1 6379 2
以上、ご質問等ございましたら、また改めてご相談いただければと思います。
伊谢尔伦2017-04-24 09:11:53
ちょっと付け加えておきます:
マスター Redis を自動的に削除し、スレーブ Redis から新しいマスターを選択し、新しいマスターの他のスレーブ Redis スレーブを変更できます
プロキシ転送機能がないため、アプリケーションは設定を変更して新しいマスターにリンクする必要があります
Redis Sentinel は主な障害を検出したときに通知を送信できます。この場合、クライアントは Redis Sentinel を通じて通知を監視できる必要があります。 提供された API は新しいメイン Redis アドレスを取得します
SENTINEL get-master-addr-by-name マスター名
返事0
伊谢尔伦2017-04-24 09:11:53
twemproxy は Twitter のオープンソース Redis プロキシです。 Twitter はこれを使用して、Redis を 105 TB のメモリ、39MM QPS、10,000 を超える Redis インスタンスに拡張しました。
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-sca...
黄舟2017-04-24 09:11:53
このインタラクティブな電子書籍をお勧めします。読みながら試してみてください: http://book.hubwiz.com/55518c22032c78127cce2481