Redis实现消息队列还可以这么玩

消息队列MQ技术选型

四大消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)相信大家都不陌生,在这里不做过多介绍,如果你的业务复杂度暂时还不需要专业的消息中间件,但又想实现消息队列功能,在SpringBoot、SpringCloud框架横行的年代,我相信Redis是必不可少的,使用Redis来实现消息队列可以降低系统的维护成本和实现复杂度,本篇介绍基于PUB/SUB-订阅发布模式方案

封装功能(适用于SpringBoot、SpringCloud框架)

1:消息发送
2:消息消费(抽象模版模式)
3:支持生产者设置消息是否持久化(配置)
4:自动提交消费状态(切面)

优点

1:微服务场景Redis必用,不需要额外的服务器资源
2:轻量,易用

缺点

1:本身不支持消息持久化(可采用本地消息表解决)
2:无ack相关(采用消费加锁、本地消息表解决消息重复消费场景)
3:发布订阅是广播,分布式部署消费者场景一定要加分布式锁、幂等控制

废话不多少,直接上代码

项目结构解释
ssm-redis-mq:父包
ssm-common:公共包,生产者、消费者、监听封装,公共vo(监听配置)
ssm-order:订单服务(生产者)
ssm-warehouse:库存服务(消费者)
项目结构
ssm-common详解
公共结构解释

Producer-发送消息

生产者

Consumer-消费消息

消费者

验证

producer-生产者
生产者发送消息日志

consumer-消费者
消费者消费日志

赶快点我拉取源码跑项目吧

关联:消息队列、发布订阅、Redis-Stream、消息中间件封装、消息队列封装
如有问题,欢迎指正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值