V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhengji
V2EX  ›  Redis

Redis 主从平滑切换

  •  1
     
  •   zhengji ·
    zheng-ji · 2015-07-16 00:49:43 +08:00 · 4295 次点击
    这是一个创建于 3199 天前的主题,其中的信息可能已经有所发展或是发生改变。

    业务原来所在的Redis需要做迁移,感谢Redis,主从切换不算太复杂。 为了可以更好地阐述过程,我们定义了:

    A 服务器,原来拥有 redis 数据库的机器
    B 服务器,未来取代 A 服务器的 redis 数据库服务器

    主从同步主要操作有2步:

    把 B 服务器的 redis 配置更改为:
    slaveof IP地址 端口
    这样就开始同步了,并且只读了。

    接下来准备把 B 服务器提升为 master,
    redis-in-b-host> slaveof no one
    B服务器就断掉主从同步,提升为主,并行可读写

    Blog: http://zheng-ji.info/blog/2014/10/04/redisre-bei/

    CarlWangCn
        1
    CarlWangCn  
       2015-07-16 08:57:03 +08:00   ❤️ 1
    用sentinel试试, 更方便
    soli
        2
    soli  
       2015-07-16 09:31:41 +08:00
    如果切换主呢?

    比如,

    A1
    / \
    B1 B2

    要想把 A1 换成 A2 呢? A1 和 A2 的内容基本是一样的。

    怎么做能平滑一些?
    zhengji
        3
    zhengji  
    OP
       2015-07-16 10:33:11 +08:00
    @CarlWangCn 好的,谢谢
    cheng007
        4
    cheng007  
       2015-07-16 13:04:02 +08:00
    没有做主从,只做了写日志备份
    日志:
    {"cmd":"hincrby","args":["player:uid:1000018","it:201",5000]}
    {"cmd":"hset","args":["player:uid:1000004","nickname","iPhone 5saaaa"]}
    {"cmd":"hset","args":["player:uid:1000004","sex",1]}
    {"cmd":"hset","args":["player:uid:1000018","title",101]}
    {"args":["player:uid:1000018","title",202],"cmd":"hset"}
    {"args":["player:uid:1000018","it:201",300000],"cmd":"hincrby"}
    {"args":["player:uid:1000018","js:ach","[{\"d\":true,\"i\":101,\"p\":0},{\"d\":true,\"i\":201,\"p\":6},{\"d\":true,\"i\":202,\"p\":26},{\"d\":false,\"i\":203,\"p\":57}]"],"cmd":"hset"}
    {"cmd":"hset","args":["player:uid:1000018","js:ach","[{\"i\":101,\"d\":true,\"p\":0},{\"i\":201,\"d\":true,\"p\":6},{\"i\":202,\"d\":true,\"p\":26},{\"i\":203,\"d\":true,\"p\":57}]"]}
    {"cmd":"hincrby","args":["player:uid:1000018","it:201",25000]}
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3871 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.