Redis有什么好的自动故障转移方案
PHP中文网
PHP中文网 2017-04-24 09:09:53
0
6
1081

具体需求是这样的,

这里的Redis是做存储的,不只是做缓存,例如任务队列,用户动态等

一主多从的Redis实例集群,当主发生故障的时候,如何能:

1、自动选出一个新的主实例
2、不需要应用端修改配置,自动将写请求切换到这个新的主实例上

PHP中文网
PHP中文网

认证0级讲师

全員に返信(6)
PHPzhong

Redis 2.8 の Sentinel で要件を達成できます。

その主な目的は、マスターとスレーブが何らかの障害により失敗した場合に、
を監視することです。 クラスターのセンチネルは、構成 とアルゴリズム
を通じてスレーブ内の新しいマスターを選択します。 また、他のスレーブとセンチネルに、sentinel.conf 内の関連する設定が自動的に変更され、redis.conf ファイルを手動で変更する必要がないことを通知します。
本来の主人が奴隷になりました。
Sentinel がクラスター状態であるかどうかを設定する必要はありません。次のように、sentinel.conf で同じモニターを設定するだけです。 センチネル モニター mymaster 127.0.0.1 6379 2

IP とポートは同じです。Sentinel は、ゴシップ プロトコルを通じてそれ自身と他の Sentinel をクラスターに統合できます。 どのスレーブを持っているかをセンチネルマスターに伝える必要がないのと同様です。

以上、ご質問等ございましたら、また改めてご相談いただければと思います。

いいねを押す +0
伊谢尔伦

ちょっと付け加えておきます:

Redis Sentinel ソリューション

メリット

マスター Redis を自動的に削除し、スレーブ Redis から新しいマスターを選択し、新しいマスターの他のスレーブ Redis スレーブを変更できます

デメリット

プロキシ転送機能がないため、アプリケーションは設定を変更して新しいマスターにリンクする必要があります

Redis Sentinel は主な障害を検出したときに通知を送信できます。この場合、クライアントは Redis Sentinel を通じて通知を監視できる必要があります。 提供された API は新しいメイン Redis アドレスを取得します

SENTINEL get-master-addr-by-name マスター名

いいねを押す +0
伊谢尔伦

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...

いいねを押す +0
黄舟

このインタラクティブな電子書籍をお勧めします。読みながら試してみてください: http://book.hubwiz.com/55518c22032c78127cce2481

いいねを押す +0
小葫芦

クライアントを変更しない場合は、keepalivedを使用してそれを実現できます

いいねを押す +0
洪涛

redis 3 クラスターは選挙を実装します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート