(六)、Springboot+Redis实现通用消息队列stater

news/2024/12/13 17:16:29/

1、消息队列选择

其实除了主流的各大消息中间件ActiveMQ, RocketMQ,RabbitMQ,Kafka之外,其实Redis也是支持消息队列功能的。

而有时候我们不需要引入消息队列中间件,跟缓存中间件Redis一起一起共用一个Redis作为消息中间件也是可以的,这样就少用了一个组件。

2、Redis能实现哪些消息模式?

  • 1)、使用stream实现点对点消息模式
  • 2)、使用publish/subscribe实现发布订阅模式

3、我们将如何封装发消息中间件功能在starter中

  • 1)、通过配置文件配置消息队列名称和对应的消费者类列表
  • 2)、读取配置文件看创建消息队列相关stream(已创建就不重复)
  • 3)、根据stream和消费者类名做一一绑定,实现不同的消息队列绑定不同的消费者监听器
  • 4)、实现一个通用的消息消费者抽象类,子类只需要继承该类并且注入spring容器即可实现消费者接受减小功能
  • 5)、将配置类和业务处理类放入spring.factories中实现自动配置
  • 6)、使用redis的key过期监听实现延时队列功能

这个过程皆基于封装好的redis-cache-spring-boot-starter,如果需要则先查看封装SpringCache为starter的模块。

4、代码实现

4.1、依赖引入

因为是基于它实现的,所以需要引入它的依赖。


http://www.ppmy.cn/news/1072373.html

相关文章

前端:实现确认取消提示框

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

MyBatis学习简要

目录 什么是MyBatis? MyBatis实现的设想 MyBatis基于配置文件的开发步骤 mybatis的配置文件 Mapper代理开发 配置文件完成增删改查的三步 注解开发 一、条件查询 参数接收时&#xff0c;参数的设置&#xff1a; 动态条件查询&#xff1a; 二、添加功能 步骤&#xf…

KubeAdmin方式搭建K8S(1.26.0)

本次安装K8S版本为1.26.0 服务器环境配置 ip描述配置192.168.233.221master节点CPU&#xff08;2C&#xff09; 内存&#xff08;2G&#xff09; 硬盘&#xff08;50G&#xff09;192.168.233.222node1节点CPU&#xff08;2C&#xff09; 内存&#xff08;2G&#xff09; 硬盘…

红黑树(AVL树的优化)上

红黑树略胜AVL树 AVL树是一颗高度平衡搜索二叉树&#xff1a; 要求左右高度差不超过1&#xff08;严格平衡&#xff09; 有的大佬认为AVL树太过严格&#xff0c;对平衡的要求越严格&#xff0c;会带来更多的旋转&#xff08;旋转也还是会有一定的消耗&#xff01;&#xff01;…

构建稳定的爬虫系统:如何选择合适的HTTP代理服务商

在构建一个稳定、高效的爬虫系统中&#xff0c;选择合适的HTTP代理服务商是至关重要的一步。本文将介绍如何选取可靠且性能优秀的HTTP代理服务供应商&#xff0c;来完成搭建一个强大而稳定的爬虫系统。 1.了解不同类型和特点 -免费公开代理服务器:提供免费但可能存在限制或不…

第三方ipad电容笔哪个牌子好用?开学好用电容笔推荐

现在&#xff0c;市面上有很多种类型的电容笔&#xff0c;在选择的时候&#xff0c;我们很容易踩雷&#xff0c;比如&#xff0c;我们购买的一些产品在书写过程中&#xff0c;往往会出现断触&#xff0c;或者是防误触功能不起作用。所以我们买东西的时候必须要注意产品配置。对…

Error: PostCSS plugin autoprefixer requires PostCSS 8 问题解决办法

报错&#xff1a;Error: PostCSS plugin autoprefixer requires PostCSS 8 原因&#xff1a;autoprefixer版本过高 解决方案&#xff1a; 降低autoprefixer版本 执行&#xff1a;npm i postcss-loader autoprefixer8.0.0

机械臂+2d相机实现复合机器人定位抓取

硬件参数 机械臂&#xff1a;艾利特 相机&#xff1a;海康相机 2d识别库&#xff1a;lindmod&#xff0c;github可以搜到 光源&#xff1a;磐鑫光源 软件参数 系统&#xff1a;windows / Linux 开发平台&#xff1a;Qt 开发语言&#xff1a;C 开发视觉库&#xff1a;OpenCV …