Redis高可用架构(1)—Keepalive+VIP

Redis高可用架构(1)—Keepalive+VIP

ID:40495327

大小:51.99 KB

页数:5页

时间:2019-08-03

Redis高可用架构(1)—Keepalive+VIP_第1页
Redis高可用架构(1)—Keepalive+VIP_第2页
Redis高可用架构(1)—Keepalive+VIP_第3页
Redis高可用架构(1)—Keepalive+VIP_第4页
Redis高可用架构(1)—Keepalive+VIP_第5页
资源描述:

《Redis高可用架构(1)—Keepalive+VIP》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂。Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用。1)RedisMaster-Slave+Keepalive+VIP。这是很经典的db架构,也可以用与mysql的主从切换。基本原理是:Keepalive通过脚本检测master的存活,然后通过漂移VIP(VirtualIP)完成主从切换。2)RedisMaster-Slave+DNSService+Sentinel。基本原理是Sentinel集群进行Redis的存活检测和RedisM-S状态切换

2、。完成切换之后,sentinel调用notification-script参数制定的配置文件,通知DNSServer更改DNS配置,masterdns解析执行新的master。3)RedisMaster-Slave+ConfigureCenter(Zookeeper)+Sentinel.基本原理和第三种方案相似,只是notification-script通知的是配置中心完成redis连接配置的修改,比如Zookeeper实现的配置中心。4)RedisMaster-Slave+Sentinel+Twemproxy+Lvs.这种方案层次比较多,sent

3、inel通知twemproxy进行redism-s的配置更改。5)RedisCluster,目前redis3.0接近发布stable版本了。1、基本架构图2、基本构建与原理1)Keepalive+VIP:在redismaster-slave上部署keepalived、redisinstance存活检测脚本、以及告警通知脚本。2)当redismaster失效的时候,VIP从master上漂移到slave上,完成m-s角色和配置更改。3)客户端连接redis的参数中host设置的是VIP,整个切换过程对客户端透明。3、优缺点与适用场景。优点:实现简单,

4、成本低。缺点:整个集群的最大吞吐量受限于redis单实例的处理能力,除非一个应用使用多套这种Keepalive+VIP方案。因而扩展能力较差,而且不适合目前单机部署多个redis实例的部署场景,而我们的一个物理机上至少部署8个redis实例。目前我们DBA已经否定了这种架构,不再支持部署这种集群。适合场景:并发请求不是很高的应用。4、Keepalive配置和检测脚本下面keepalive的简单配置、检测和通知脚本。1)keepalive.confmaster和slave使用相同的配置脚本,其中要注意的地方state的配置都是backup状态,而且都

5、是非抢占方式nopreempt。123456789101112131415161718192021222324vrrp_script chk_redis {        script "/etc/keepalived/redis_check.sh"          interval 2                                      }   vrrp_instance VI_1 {         state BACKUP                                         interfac

6、e bond0                                     virtual_router_id 51         priority 100                              nopreempt          authentication {                      auth_type PASS                      auth_pass redis             }         track_script {                 

7、chk_redis                       }         virtual_ipaddress {             10.203.31.216                 }          notify_master  "/etc/keepalived/notify.sh master" 2526        notify_backup  "/etc/keepalived/notify.sh backup" }2)redis_check.sh,redis实例存活检测脚本。当master检测到redis处于f

8、ailed状态,将会释放VIP,slave机器将会获取VIP。1234567891011121314#!/bin/bash

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。