写这篇文章的原因还是得归咎于👇
上一篇博客写了👉 SpringBoot整合Redis实现发布/订阅模式
以及上上一篇博客写了👉Docker搭建Redis Cluster 集群环境
我自己是认为对于每个知识点,光看了不操作是没有用的(遗忘太快…),多少得在手上用上几回才可以,才能对它加深印象。
昨天搭建了Redis Cluster 集群环境,今天就来拿它玩一玩Redis 消息队列吧
于是便有了这个Redis 实现消息队列的Demo,
很喜欢一句话:”八小时内谋生活,八小时外谋发展“。
共勉
.😁
地点:
家里看到的云
作者:
😁
一、前言
概念
消息队列:“消息队列”是在消息的传输过程中保存消息的容器。
其实就是个 生产者--->消息队列<---消费者
的模型。集群就是蛮多蛮多而已。
作用:
主要解决应用耦合,异步消息,流量削锋等问题
应用场景:
异步处理,应用解耦(拆分多系统),流量削峰(秒杀活动、请求量过大)和消息通讯(发布公告、日志)四个场景。
此处只演示了最简单的一个图哈。
举例子:异步消息
使用消息队列后
消息中间件其实市面上已经有很多,如RabbitMq,RocketMq、ActiveMq、Kafka等,我拿Redis来做消息队列,其本意是1)为了熟悉Redis;2)Redis 确实可以来做简单的消息队列(狗头保命)
二、前期准备
就是需要个Redis,其他的倒是没啥特殊的啦。😁
2.1、项目结构
一普通的SpringBoot的项目…😊
2.2、依赖的jar包
jar 也都是一些正常的jar包哈,没啥新奇玩意。😜
1 | xml复制代码<parent> |
2.3、yml配置文件
分单机和集群,主要是上一篇文章带的….🙄😶
单机配置文件
1 | yml复制代码spring: |
redis集群配置文件
1 | yml复制代码server: |
三、编码
3.1、config层
没有什么特殊的配置,🤗
1 | java复制代码import com.fasterxml.jackson.annotation.JsonAutoDetect; |
3.2、信息实体类
加个实体类,模拟传递信息中需要用到的实体类。
1 | java复制代码import lombok.AllArgsConstructor; |
3.3、MyThread类
随项目启动而启动。
1 | java复制代码import org.springframework.beans.factory.annotation.Autowired; |
3.4、消费者
1 | java复制代码import java.util.concurrent.TimeUnit; |
3.5、生产者
1 | java复制代码import com.crush.queue.entity.AnnouncementMessage; |
四、测试
就是简单写了一个测试代码。😝
1 | java复制代码import com.crush.queue.entity.AnnouncementMessage; |
注
:这只是一个小demo ,很多细节都没有去考虑,只是一次对Redis做消息队列的初探,大家见谅。
五、自言自语
一次由搭建Redis Cluster集群开启的博客,终于结束了,算了好像还没,感觉下次可以多写点实用的。😂🤣
不知道大家学习是什么样的,博主自己的感觉就是学了的东西,要通过自己去梳理一遍,或者说是去实践一遍,我觉得这样子,无论是对于理解还是记忆,都会更加深刻。
如若有不足之处,请不啬赐教!!😁
有疑惑之处,也可以留言或私信,定会第一时间回复。👩💻
这篇文章就到这里啦,下篇文章再见。👉一篇文章用Redis 实现消息队列(还在写)
本文转载自: 掘金