资讯专栏INFORMATION COLUMN

redis做简单mq的高可用

luqiuwen / 2896人阅读

摘要:集群环境生产者有多个消费者有多个两边随时可增加上消息只会被一个消费者消费,不会有多个订阅者消费同一个消息,简单一对一解决消费者崩溃问题保证不会由于程序问题导致消息不丢失。

redis集群环境

生产者有多个 消费者有多个 两边随时可增加

redis上消息只会被一个消费者消费,不会有多个订阅者消费同一个消息,简单一对一

解决:

消费者崩溃问题:RPOPLPUSH保证不会由于程序问题导致消息不丢失。那么这部分中间状态数据如何处理。考虑集群copy到目标队列名称需要根据消费者程序部署unique名,可结合zk来做,当出现程序崩溃,该队列会自动成为可消费队列,消费完成后会被干掉

为了利用集群,多个队列写,生产者只负责轮训写,消费者轮训读

生产者崩溃问题,同样有成效记录来补偿中间状态。类似消费者来决定中间状态值的改变。

考虑redis内存问题,生产者根据队列情况进行阀值控制,避免消费太慢,写入太快

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/36117.html

相关文章

  • kafka消息队列

    摘要:为什么使用消息队列消息队列的优缺优点解耦异步消峰缺点系统的可用性降低,系统引入的外部依赖越多,越容易挂掉系统复杂性提高数据一致性问题常用消息队列的优缺点技术非常成熟,但是偶尔会出现较低概率的丢失消息,而且现在社区以及国内应用都越来越少社区相 为什么使用消息队列消息队列的优缺 1优点 (1) 解耦 (2) 异步 (3) 消峰 2 缺点 (1)系统的可用性降低,系统引入的外部依赖越多...

    godlong_X 评论0 收藏0
  • 「真®全栈之路」Web前端开发的后端指南

    前言 在若干次前的一场面试,面试官看我做过python爬虫/后端 的工作,顺带问了我些后端相关的问题:你觉得什么是后端? 送命题。当时脑瓦特了,答曰:逻辑处理和数据增删改查。。。 showImg(https://user-gold-cdn.xitu.io/2019/4/24/16a4ed4fc8c18078); 当场被怼得体无完肤,羞愧难当。事后再反思这问题,结合资料总结了一下。发现自己学过的Re...

    chuyao 评论0 收藏0
  • 关于MQ的几件小事(七)如果让你设计一个MQ,你怎么设计

    摘要:能不能支持数据丢失啊可以的,参考我们之前说的那个数据零丢失方案其实一个肯定是很复杂的,其实这是个开放题,就是看看你有没有从架构角度整体构思和设计的思维以及能力。其实回答这类问题,说白了,起码不求你看过那技术的源码,起码你大概知道那个技术的基本原理,核心组成部分,基本架构构成,然后参照一些开源的技术把一个系统设计出来的思路说一下就好 比如说这个消息队列系统,我们来从以下几个角度来考虑一下 (1...

    Vixb 评论0 收藏0
  • 开源一个kafka增强:okmq-1.0.0

    摘要:只有两个基础组件同时死亡,才会受到严重影响。的意外死亡,造成生产端发送失败。后台会有一个线程进行这些失败消息的遍历和重新投递。二阻塞业务正常进行。死亡,或者单独死亡,消息最终都会被发出,仅当与同时死亡,消息才会发送失败,并记录在日志文件里。 本工具的核心思想就是:赌。只有两个基础组件同时死亡,才会受到严重影响。哦,断电除外。 mq是个好东西,我们都在用。这也决定了mq应该是高高高可用的...

    Chiclaim 评论0 收藏0
  • 开源一个kafka增强:okmq-1.0.0

    摘要:只有两个基础组件同时死亡,才会受到严重影响。的意外死亡,造成生产端发送失败。后台会有一个线程进行这些失败消息的遍历和重新投递。二阻塞业务正常进行。死亡,或者单独死亡,消息最终都会被发出,仅当与同时死亡,消息才会发送失败,并记录在日志文件里。 本工具的核心思想就是:赌。只有两个基础组件同时死亡,才会受到严重影响。哦,断电除外。 mq是个好东西,我们都在用。这也决定了mq应该是高高高可用的...

    PAMPANG 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<