关于Celery的基本知识很早就提过了,这里讲讲在使用redis做broker时如何做到redis的高可用。

一共有三种预选方案,第一种是使用redis cluster+haproxy+keepalived,一种方式使用redis sentinel,还有一种是使用codis这类redis proxy。

我使用第一种方式搭建起来了一个高可用redis集群,它实现了接口透明,但是redis cluster只有一个db 0,没有其他db可用。并且使用这种方法,结合到celery上去,celery worker都未启起来。后来又翻了一下celery在github上的issue,感觉celery的作者并没打算去支持它,也可能是我能力不足,没找到相关的资料。所以我放弃这种方法了。如果有别的应用场景需要做redis的高可用,可以参考这种方案。可以阅读这篇文章和这篇文章以自己实践。

第三种方案的困难在于,我感觉codis的文档很少,搭建起来很费力,所以没有深入研究它,或许以后有时间,还是会去尝试的,多学一些以开拓视野。

第二种方案是本文要详细介绍的。在celery4.0以后,celery官方实现了对redis sentinel的支持。

首先,第一步便是搭建redis sentinel。我在以前的博文中写过如何搭建,这里就不再啰嗦了。

然后,我们需要在项目的初始化 Celery APP之后,使用

app.conf.broker_url = 'sentinel://localhost:26379;sentinel://localhost:26380'

app.conf.broker_transport_options = { 'master_name': "cluster1" }

来设置sentinel相关的信息。除了这种方式,我们也可以在初始化celery app的时候直接指定broker_url。

这里需要注意一点,这种方式不能指定backend,否则celery worker也无法启起来,也可能是我指定backend的方式不对吧,这一点还需要进一步确认。

经过这两步之后,关于celery+redis sentinel的配置就说完了。

经过两天的努力,总算是解决了celery redis broker的高可用问题,不过在这过程中,还有一些问题需要去复现和解决,比如celery 和redis cluster的问题,还有redis sentinel一直选举leader的问题。

celery cluser redis_Celery配置Redis Sentinel做高可用相关推荐

  1. celery cluser redis_celery结合redis 使用

    Java中写文件操作 OutputStream 和 Writer OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStre ...

  2. Redis基础与高可用集群架构进阶详解

    一.NoSQL简介 1.问题引入 每年到了过年期间,大家都会自觉自发的组织一场活动,叫做春运!以前我们买票都是到火车站排队,后来呢,有了 12306,有了它以后就更方便了,我们可以在网上买票,但是带来 ...

  3. 基于keepalived对redis做高可用配置---转载

    关于keepalived的详细介绍,请移步本人相关博客:http://wangfeng7399.blog.51cto.com/3518031/1405785 功能 ip地址 安装软件 主redis 1 ...

  4. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    大家一定非常熟悉如何利用Docker启动单个Redis容器用于开发环境,本文将介绍如何利用Docker Compose模板在本机和云端部署基于Sentinel的高可用Redis 3集群. Redis集 ...

  5. Redis主从配置及通过Keepalived实现Redis自动切换高可用

    Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区  作者:fuquanjun [字体:大 中 小] 一:环境介绍: Mas ...

  6. Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构?

    文章目录 Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构? 配置环境 构建 RedisSharding1 安装 Redis 配置 RedisSharding1 构建 ...

  7. Redis复制的高可用详解

    一.sentinel基础 在Redis的主从复制中有一个问题很明显,比如说在一主三从的架构下,如果主节点宕机,那么所有的写操作也就不能执行了,这个主从复制架构也就瘫痪了,所以Redis引入了senti ...

  8. php redis 投票_高可用Redis服务架构分析与搭建

    HorstXuhttps://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经 ...

  9. redis系列之——高可用(主从、哨兵、集群)

    Redis系列目录 redis系列之--分布式锁 redis系列之--缓存穿透.缓存击穿.缓存雪崩 redis系列之--Redis为什么这么快? redis系列之--数据持久化(RDB和AOF) re ...

  10. 视频教程- 19年录制Redis实战教程 高可用秒杀分布式锁布隆过滤器实战 SpringBoot教程整合-Java

    19年录制Redis实战教程 高可用秒杀分布式锁布隆过滤器实战 SpringBoot教程整合 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有nod ...

最新文章

  1. 苹果服务器消息转发,iphone-与APNS服务器进行交互以将推送通知发...
  2. Mac无损音乐播放器Audirvana plus
  3. mysql 几十连接_MySQL挑战:10万连接数
  4. 什么是云计算?—Vecloud 微云
  5. 如何重置云服务器系统
  6. Tesseract-OCR 字符识别---样本训练 [转]
  7. 每周一起读 × 招募 | ACL 2019:基于知识增强的语言表示模型
  8. 浅入深出之Java集合框架(中)
  9. 共享几套silverlight2 toolkit最新的皮肤控件样式下载
  10. (转) SpringBoot接入两套kafka集群
  11. 【蓝桥杯官网试题 - 历届试题】格子刷油漆(dp)
  12. Vista初级使用技巧及故障总结
  13. html树状图右侧_马尔可夫模型怎么画?必备入门级模型图设计软件
  14. C语言实现读取elf文件某section
  15. javascript计算两条直线的夹角
  16. 企业商誉管理系统(业务开展)
  17. 阿里云高校训练营-class6-感悟
  18. 黑镜狗再现!波士顿动力「大黄狗」上岗SpaceX,勘察火箭爆炸现场
  19. win10虚拟机安装linux
  20. java 中session能存什么不能存什么

热门文章

  1. 域名没备案使用七牛cdn加速
  2. 小米蓝牙左右互联_399元,真香!小米蓝牙耳机Air,同价位比有线体验还出色?...
  3. 计算机硬件 中级证,计算机硬件组装与教学方法计算机应用中级职称论文
  4. python logger.debug_python处理logger日志
  5. sql三表查询_滴滴SQL面试题解析:打车业务问题
  6. C++:stack.pop() error: cannot initialize a variable of type ‘char‘ with an rvalue of type ‘void‘
  7. 【POJ2155】Matrix(二维区间修改+单点查询---二维树状数组)
  8. linux下实用小脚本,linux下shell常用脚本大集合啦
  9. 阿里云云计算 11 ECS初体验-- 动手实验
  10. 在UITextView显示HTML,以及NSAttributedString乱码问题解决 swift