实现重新选举,是一种高可用的技术。重新选举能够保证系统可用,同时在集群出现故障时可以继续服务,确保服务的正常运行。Redis能够实现重新选举,下面介绍实现重新选举的方法:
创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为武义企业提供专业的成都网站建设、成都网站设计,武义网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
建立Redis Master-Slave集群。Master通过AOF持久化方式,向Slave同步持久化数据,保证Slave的数据与Master状态的一致。
然后,通过Redis提供的Master-Slave切换功能及客户端实现监视器,在Master出现故障时,监视器会监听到 Master 崩溃信息,在 Slaves 中找出最新的一条持久化数据,并从中 awgetLeader 选举出新的 Leader 。
# Master watcher
redis-cli -a ${password} --cluster check ${masterIP}:${masterPort}
# Client watcher
while true
do
Master=$(redis-cli -a ${password} -h ${masterIP} -p ${masterPort} info replication | grep "role" | cut -d ',' -f 1|cut -d ':' -f 2)
if [[ $Master != "master" ]]; then
# elect leader
./awgetLeader.sh
fi
sleep 2
done
接着,新的 Leader 会与其它 Slaves 进行通信,确定是否可以将它们转换为 Master ,向他们发出转换请求。
如果 Slaves 返回了同意,Leader 就会通知客户端,将原来 Master 的信息替换成新的Master,完成了重新选举。
Redis重新选举的实现,保证了集群的正常运行,同时还可以将重新选举的功能拓展到递增应用。下面介绍一个使用Redis递增应用的示例:
在使用Redis实现递增应用的例子中,我们可以使用Redis的INCR命令,每次递增指定的key的值;同时,我们还可以使用Redis的 WATCH 功能,监视 key 的变化,在监视 key 发生变化时,重新进行递增操作,达到实现递增应用所需要的效果。以下是一个Redis实现递增应用的示例:
# increment key once
WATCH "key"
val = INCR "key"
# restart if WATCHed val has changed
if val == 0:
# basic code to start a new server
以上就是一个简单的Redis实现重新选举和拓展用于递增应用的示例。Redis通过MASTER-SLAVE集群和WATCH功能,让重新选举成为可能,同时还提高了系统的可用性和安全性。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联成都老牌IDC服务商,专注四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,可选线路电信、移动、联通等。
当前文章:Redis实现重新选举,拓展递增应用(redis重新选举递增)
当前网址:http://www.shufengxianlan.com/qtweb/news17/395267.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联