V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
resolvewang
V2EX  ›  问与答

celery 如何预防 redis 出现单点故障

  •  
  •   resolvewang · 2017-05-26 20:47:59 +08:00 · 3605 次点击
    这是一个创建于 2525 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我使用 redis 作为 celery 的 broker 和 backend,但是出现了这么一个问题,当 redis 挂掉之后,celery worker 节点就无法工作了,我在网上也查过 redis 的高可用方案,比如 redis sentinel,但是这种方式好像很难和 celery 结合起来。

    大家有不有啥比较好的方法,求告知

    5 条回复    2017-06-01 22:30:13 +08:00
    bingxx
        1
    bingxx  
       2017-05-27 10:28:15 +08:00
    不知道 celery 是否支持 redis cluster。支持的话,可靠性会高很多。
    julyclyde
        2
    julyclyde  
       2017-05-27 17:52:46 +08:00
    别想太多
    根本犯不上
    resolvewang
        3
    resolvewang  
    OP
       2017-05-30 10:14:14 +08:00
    @bingxx redis cluster 目前 celery 官方没有支持,ask 在 issue2852 说了( https://github.com/celery/celery/issues/2852)。所以比较困惑
    resolvewang
        4
    resolvewang  
    OP
       2017-05-30 10:16:08 +08:00
    @julyclyde 此话怎讲啊?我前段时间运行一个 celery 写的分布式爬虫,结果我的 redis 服务器挂了,所有抓取节点就相当于挂掉了。请问有啥方法能提高它的可用性吗?
    julyclyde
        5
    julyclyde  
       2017-06-01 22:30:13 +08:00
    @resolvewang redis 足够简单,以至于很难挂了
    redis cluster 很烂,近几年还是别费劲了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4020 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:13 · PVG 12:13 · LAX 21:13 · JFK 00:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.