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

那个..关于 redis 集群可用性的一个问题...

  •  
  •   scmod · 2018-07-19 13:52:13 +08:00 · 2553 次点击
    这是一个创建于 2080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看介绍说主从的方式,每份数据都只在一对主从上, 这样的话不是就算上百台只要其中随便一对主从挂掉这个集群就没用了? 比如我可能类似一段数据从前天到今天,前天正好在第一对的哈希槽里,昨天在第二对上今天在第三对上,随便一对坏了我就没办法拿到完整数据了?

    7 条回复    2018-07-20 10:36:32 +08:00
    slowargo
        1
    slowargo  
       2018-07-19 15:15:53 +08:00
    1 挂掉一对就损失那一对上面的数据,不影响其他节点上的数据
    2 redis 是 cache,不要假定它是一个可靠存储,业务上需要考虑 cache 可能失效。
    petelin
        2
    petelin  
       2018-07-19 17:47:50 +08:00
    每一个槽都要备份的呀
    mikeguan
        3
    mikeguan  
       2018-07-19 17:51:07 +08:00 via Android
    Redis 集群一对主从挂了 集群就挂了 你集群有几百台机器 一对主从也不会只有 2/3 台机器 全部坏掉的可能性很小
    xiapuxiaohei
        4
    xiapuxiaohei  
       2018-07-19 19:23:22 +08:00
    貌似 lz 这个情况的确会丢数据,但是集群倒是不会挂掉。
    kkeybbs
        5
    kkeybbs  
       2018-07-19 19:32:19 +08:00 via iPhone
    一主多从,主从不在同一节点上,数据会丢的更少
    nl101531
        6
    nl101531  
       2018-07-19 19:38:53 +08:00 via Android
    主从同时挂几率挺小,即使挂了丢失的是这段分片上的数据,一般也不会产生全站影响。
    scmod
        7
    scmod  
    OP
       2018-07-20 10:36:32 +08:00
    @slowargo 哦..原来定位是缓存吗,那就是要保证数据实际上真正落盘的话还是要有其他数据库支持?
    貌似现在大概知道了就是数据确实会丢,然后如果这些数据正好是一个表的一部分的话我对那个表的 select * 类似这样的就会因为少这一部分不能用了

    @mikeguan 貌似 4 楼说的和您说的有冲突呀~如果一对主从不止两三台确实会好很多,但是实际上如果像我说的那种情况,正好数据都被分配到每一对主从上,然后少任何一对的那部分数据都会导致查不出所有数据的话,不管集群有多少对,可靠性只跟某一对主从的可靠性一样了.

    刚才又翻了遍官网介绍 https://redis.io/topics/partitioning,感觉好像集群之后什么事情都麻烦了不少,select by id 这种好像还好,但是很多对整表的操作都被限制了
    谢谢楼上各位~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5488 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:40 · PVG 14:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.