84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
具体需求是这样的,
这里的Redis是做存储的,不只是做缓存,例如任务队列,用户动态等
一主多从的Redis实例集群,当主发生故障的时候,如何能:
1、自动选出一个新的主实例 2、不需要应用端修改配置,自动将写请求切换到这个新的主实例上
认证0级讲师
用redis 2.8的sentinel就可以实现你的要求。
它的主要用途就是monitor你的master和slave,如果master出现因为某种故障导致Ping不通, 集群的sentinel会通过配置结合算法为你在slave里选择一个新的master, 并通知其他的slave和sentinel,sentinel.conf中的相关配置都会自修改,redis.conf文件也不需要你手动修改。 最初的master就沦为slave了。
你也不需要配置sentinel是否为集群状态,你只要在sentinel.conf中配置相同的monitor,如下: sentinel monitor mymaster 127.0.0.1 6379 2 其中ip 和 port 相同,sentinel能通过流言协议(gossip protocols)把自己和其他sentinel统一成集群, 类似于你不用告诉sentinel master有哪些slave一样。 以上,还有问题可以再交流。
补充一下:
能自动的将主Redis剔除,从从Redis里选出一个新的主,修改其它从Redis slave of新主
无Proxy转发功能,需要应用端自行修改配置链接到新的主
Redis Sentinel 发现主故障时,可以发送通知,这时需要客户端能监听到这个通知,通过Redis Sentinel 提供的API获取到新的主Redis地址 SENTINEL get-master-addr-by-name master-name
Redis Sentinel 发现主故障时,可以发送通知,这时需要客户端能监听到这个通知,通过Redis Sentinel 提供的API获取到新的主Redis地址
SENTINEL get-master-addr-by-name master-name
twemproxy 是 Twitter 开源的 Redis Proxy。Twitter 使用它将 Redis 扩展到了 105TB 内存,39MM QPS 和 1万多的 Redis 实例。
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-sca...
推荐本互动电子书给你看看,可以边看边试试:http://book.hubwiz.com/55518c22032c78127cce2481
不修改客户端的话,可以使用keepalived实现
redis 3 cluster实现选举
用redis 2.8的sentinel就可以实现你的要求。
它的主要用途就是monitor你的master和slave,如果master出现因为某种故障导致Ping不通,
集群的sentinel会通过配置结合算法为你在slave里选择一个新的master,
并通知其他的slave和sentinel,
sentinel.conf中的相关配置都会自修改,redis.conf文件也不需要你手动修改。
最初的master就沦为slave了。
你也不需要配置sentinel是否为集群状态,你只要在sentinel.conf中配置相同的monitor,如下:
sentinel monitor mymaster 127.0.0.1 6379 2
其中ip 和 port 相同,sentinel能通过流言协议(gossip protocols)把自己和其他sentinel统一成集群,
类似于你不用告诉sentinel master有哪些slave一样。
以上,还有问题可以再交流。
补充一下:
Redis Sentinel方案
优势
能自动的将主Redis剔除,从从Redis里选出一个新的主,修改其它从Redis slave of新主
劣势
无Proxy转发功能,需要应用端自行修改配置链接到新的主
twemproxy 是 Twitter 开源的 Redis Proxy。Twitter 使用它将 Redis 扩展到了 105TB 内存,39MM QPS 和 1万多的 Redis 实例。
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-sca...
推荐本互动电子书给你看看,可以边看边试试:
http://book.hubwiz.com/55518c22032c78127cce2481
不修改客户端的话,可以使用keepalived实现
redis 3 cluster实现选举