Redis 队列和MQ 对比

简介

        为了保障基础服务的稳定,需要对MQ进行灾备,这个灾备主要是防患MQ突然不可能,基础服务依然可以调用其他队列来继续正常运行。第一想法是引入其他MQ中间件来做灾备,这样只需要实现一套生产者消费者就好。但因为公司这块中间件都使用的云产品。要过要使用其他类型的MQ中间件就需要购买资源,但程序运行中正常情况下不会用到这个备胎,因此剩下的选项就是将队列数据落到数据库(关系型/非关系型),要么就是redis,因为即便MQ出现问题,供应商也会很快的修复问题保证MQ中间件的可用,因此我们这边灾备主要的职责就是应急。考虑到落库的处理逻辑和因此选择轻量级的redis队列来对基础服务中的MQ进行灾备。

对比

 Redis队列:Redis队列是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然是一个Key-Value数据库存储系统,但它本身支持MQ功能,所以完全可以当做一个轻量级的队列服务来使用

 MQ队列   :在分布式系统中存储转发消息,在易用性、扩展性、高可用等方面表现不俗,主要是为了实现系统之间的双向解耦

区别

        1. Redis没有相应的机制保证消息的消费,当消费者消费失败的时候,消费体丢失,需要手动处理。MQ:具有消息消费确认,即使消费者消费失败,也会自动使消息体返回原队列,同时可全程持久化,保证消息体被正确消费

  2. Redis采用主从模式,读写分离,但是故障转移还没有非常完善的官方解决方案;MQ集群采用磁盘、内存节点,任意单点故障都不会影响整个队列的操作

  3. 将整个Redis实例持久化到磁盘,MQ的队列、消息,都可以选择是否持久化

  4. Redis的特点是轻量级,高并发,延迟敏感,用于即使数据分析、秒杀计数器、缓存等,MQ的特点是重量级,高并发,用于异步、批量数据异步处理、并发任务串行化,高负载任务的负载均衡等

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值