spring-boot-route(十五)整合RocketMQ 2021-09-18 06:02 230阅读 0赞 ## RocketMQ简介 ## RocketMQ是阿里巴巴开源的消息中间件。目前已经贡献给Apache软件基金会,成为Apache的顶级项目。 ### rocketMQ基本概念 ### ![37f236afce32ce505e2952c29e7fdb57.png][] #### 1. Producer Group #### 生产者组:是一类生产者的集合,通常发送同一类消息并且发送逻辑一致。 #### 2. Producer #### 生产者:负责发送消息,有三种消息发送模式。 * 同步发送:收到确认后再发送下一条消息 * 异步发送:发送后,不等待确认继续发送下一条 * 单向发送:只负责发送消息,无法确认并且没有回调,适合收集日志 #### 3. Consumer Group #### 消费者组:是一类消费者的集合,通常消费同一类消息并且消费逻辑一致。 #### 4. Consumer #### 消息者:负责消费消息,有两种消费模式 * 拉取型消费:主动从消息服务器拉取信息,只要批量拉取到消息,用户应用就会启动消费过程 * 推送型消费:实际上也是拉取消息,只不过是将拉取逻辑进行了封装,将消息到达时执行的回调接口留给用户来实现 #### 5. Broker #### 消息服务器:存储消息 #### 6. NameServer #### 作用和zookeeper类似,用来保存broker相关元素,并给producer和consumer查找broker消息,Producer 在发送消息前会根据 Topic 到 NameServer 获取到 Broker 的路由信息,Consumer 也会定时获取 Topic 的路由信息。 #### 7. Topic #### 消息主题 #### 8. Tag #### 标签,Topic的二级分类,也可以理解为消息队列,主题被划分为一个或多个子主题,即消息队列。一个 Topic 下可以设置多个消息队列,发送消息时执行该消息的 Topic ,RocketMQ 会轮询该 Topic 下的所有队列将消息发出去。 ## Spring Boot整合Rocketmq ## ### 1. 引入依赖 ### <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> ### 2. 配置rocketmq信息 ### rocketmq: name-server: 127.0.0.1:9876 producer: group: my-producer-group ### 3. 构建生产者 ### @RestController public class Producer { @Autowired private RocketMQTemplate rocketMQTemplate; @GetMapping("send") public void send(){ rocketMQTemplate.convertAndSend("first-topic","你好,Java旅途"); } } ### 4. 构建消费者 ### @Component @RocketMQMessageListener(topic = "first-topic",consumerGroup = "my-consumer-group") @Slf4j public class Consumer implements RocketMQListener<String> { @Override public void onMessage(String message) { log.info("我收到消息了!消息内容为:"+message); } } emmm,消息队列的内容就暂时告一段落了,文章中只是演示了最简单的收发消息,在实际应用中需要考虑的问题远比这要多。 -------------------- #### 本文示例代码已上传至[github][],点个`star`支持一下! #### ## Spring Boot系列教程目录 ## [spring-boot-route(一)Controller接收参数的几种方式][spring-boot-route_Controller] [spring-boot-route(二)读取配置文件的几种方式][spring-boot-route] [spring-boot-route(三)实现多文件上传][spring-boot-route 1] [spring-boot-route(四)全局异常处理][spring-boot-route 2] [spring-boot-route(五)整合swagger生成接口文档][spring-boot-route_swagger] [spring-boot-route(六)整合JApiDocs生成接口文档][spring-boot-route_JApiDocs] [spring-boot-route(七)整合jdbcTemplate操作数据库][spring-boot-route_jdbcTemplate] [spring-boot-route(八)整合mybatis操作数据库][spring-boot-route_mybatis] [spring-boot-route(九)整合JPA操作数据库][spring-boot-route_JPA] [spring-boot-route(十)多数据源切换][spring-boot-route 3] [spring-boot-route(十一)数据库配置信息加密][spring-boot-route 4] [spring-boot-route(十二)整合redis做为缓存][spring-boot-route_redis] [spring-boot-route(十三)整合RabbitMQ][spring-boot-route_RabbitMQ] [spring-boot-route(十四)整合Kafka][spring-boot-route_Kafka] [spring-boot-route(十五)整合RocketMQ][spring-boot-route_RocketMQ] [spring-boot-route(十六)使用logback生产日志文件][spring-boot-route_logback] [spring-boot-route(十七)使用aop记录操作日志][spring-boot-route_aop] [spring-boot-route(十八)spring-boot-adtuator监控应用][spring-boot-route_spring-boot-adtuator] [spring-boot-route(十九)spring-boot-admin监控服务][spring-boot-route_spring-boot-admin] [spring-boot-route(二十)Spring Task实现简单定时任务][spring-boot-route_Spring Task] [spring-boot-route(二十一)quartz实现动态定时任务][spring-boot-route_quartz] [spring-boot-route(二十二)实现邮件发送功能][spring-boot-route 5] [spring-boot-route(二十三)开发微信公众号][spring-boot-route 6] [spring-boot-route(二十四)分布式session的一致性处理][spring-boot-route_session] [spring-boot-route(二十五)两行代码实现国际化][spring-boot-route 7] [spring-boot-route(二十六)整合webSocket][spring-boot-route_webSocket] [37f236afce32ce505e2952c29e7fdb57.png]: /images/20210918/3053fc27ef7246c299c61219d7ad153c.png [github]: https://github.com/binzh303/spring-boot-route [spring-boot-route_Controller]: https://javatip.cn/archives/66 [spring-boot-route]: https://javatip.cn/archives/72 [spring-boot-route 1]: https://javatip.cn/archives/74 [spring-boot-route 2]: https://javatip.cn/archives/79 [spring-boot-route_swagger]: https://javatip.cn/archives/90 [spring-boot-route_JApiDocs]: https://javatip.cn/archives/91 [spring-boot-route_jdbcTemplate]: https://javatip.cn/archives/92 [spring-boot-route_mybatis]: https://javatip.cn/archives/93 [spring-boot-route_JPA]: https://javatip.cn/archives/94 [spring-boot-route 3]: https://javatip.cn/archives/95 [spring-boot-route 4]: https://javatip.cn/archives/113 [spring-boot-route_redis]: https://javatip.cn/archives/114 [spring-boot-route_RabbitMQ]: https://javatip.cn/archives/115 [spring-boot-route_Kafka]: https://javatip.cn/archives/116 [spring-boot-route_RocketMQ]: https://javatip.cn/archives/117 [spring-boot-route_logback]: https://javatip.cn/archives/118 [spring-boot-route_aop]: https://javatip.cn/archives/119 [spring-boot-route_spring-boot-adtuator]: https://javatip.cn/archives/120 [spring-boot-route_spring-boot-admin]: https://javatip.cn/archives/121 [spring-boot-route_Spring Task]: https://javatip.cn/archives/122 [spring-boot-route_quartz]: https://javatip.cn/archives/123 [spring-boot-route 5]: https://javatip.cn/archives/124 [spring-boot-route 6]: https://javatip.cn/archives/125 [spring-boot-route_session]: https://javatip.cn/archives/284 [spring-boot-route 7]: https://javatip.cn/archives/256 [spring-boot-route_webSocket]: https://javatip.cn/archives/255
相关 SpringBoot整合RocketMQ 目录 0.前提条件 1.简易消息操作 1.1生产消息服务整合MQ 1.2创建消费者服务 2.各种不同类型的消息发送集合 2.1消息生产者(mqproductserv 深碍√TFBOYSˉ_/ 2022年12月27日 12:35/ 0 赞/ 129 阅读
相关 SpringBoot整合RocketMQ 一、RocketMQ应用场景 削峰填谷 异步解耦 顺序收发 分布式事务一致性 大数据分析 分布式缓存同步 二、springboot Dear 丶/ 2022年11月14日 14:45/ 0 赞/ 132 阅读
相关 SpringBoot系列十五:整合Swagger Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方 不念不忘少年蓝@/ 2022年10月01日 09:52/ 0 赞/ 89 阅读
相关 SpringBoot整合RocketMq SpringBoot整合RocketMq 简单在SpringBoot整合一下整合RocketMq 版本 JDK11 RocketMq 4.7.1 SpringB 短命女/ 2022年09月03日 15:15/ 0 赞/ 149 阅读
相关 Spring整合RocketMQ RocketMQ在使用的时候需要定义一些列的信息,然后注册一个MessageListener,不是很方便。能不能通过Spring整合RocketMQ,像整合RabbitMQ,K 曾经终败给现在/ 2022年05月29日 10:35/ 0 赞/ 118 阅读
相关 SpringBoot(十五):SpringBoot整合Redis 一、环境准备 Redis-x64-3.2.100.zip SpringBoot 1.5.10.RELEASE Redis-x64-3.2.100.zip 下 柔光的暖阳◎/ 2022年05月23日 08:40/ 0 赞/ 164 阅读
相关 Springboot(十五)整合mybatis 新建一个springboot工程,pom.xml中引入下面依赖包: <?xml version="1.0" encoding="UTF-8"?> <proje 谁践踏了优雅/ 2022年05月18日 04:38/ 0 赞/ 139 阅读
相关 Mybatis系列十五:整合Redis 在SpringBoot项目中用Redis做Mybatis的二级缓存。 1、添加redis依赖 <!--redis缓存--> <dependency 比眉伴天荒/ 2022年02月15日 04:53/ 0 赞/ 258 阅读
相关 springboot干货——(二十)整合rocketmq 本篇主要讲springboot如何整合rocketmq,具体的rocketmq相关知识可以查看我的rocketmq相关专栏:[RocketMQ菜鸟进化系列][RocketMQ] 喜欢ヅ旅行/ 2021年09月26日 13:26/ 0 赞/ 263 阅读
相关 spring-boot-route(十五)整合RocketMQ RocketMQ简介 RocketMQ是阿里巴巴开源的消息中间件。目前已经贡献给Apache软件基金会,成为Apache的顶级项目。 rocketMQ基本概念 ! 悠悠/ 2021年09月18日 06:02/ 0 赞/ 231 阅读
还没有评论,来说两句吧...