基于docker安装的rocketMQ以及springboot集成使用

rocketmq消息注解基于springboot的简单应用及默认详细配置 rocketmq消息组件在springboot框架中的应用,使用rocketmq的整合包进行编码实现。 阅读详情

一、Docker安装

1.创建docker-compose.yml文件

version: '3.5'
services:
  rmqnamesrv:
    image: foxiswho/rocketmq:server
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    networks:
      rmq:
        aliases:
          - rmqnamesrv
  rmqbroker:
    image: foxiswho/rocketmq:broker
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - ./broker.conf:/etc/rocketmq/broker.conf
    environment:
      NAMESRV_ADDR: "rmqnamesrv:9876"
      JAVA_OPTS: " -Duser.home=/opt"
      JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: mqbroker -c /etc/rocketmq/broker.conf
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqbroker
  rmqconsole:
    image: styletang/rocketmq-console-ng
    container_name: rmqconsole
    ports:
      - 8090:8080
    environment:
      JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqconsole
networks:
  rmq:
    name: rmq
    driver: bridge

2.新建broker.conf文件

# 集群名称
brokerClusterName = DefaultCluster
# 节点名称

brokerName = broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0

brokerId = 0
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04

deleteWhen = 04
# 以小时计算的文件保留时间 默认值72小时

fileReservedTime = 72
# Broker角色

brokerRole = ASYNC_MASTER
# 刷盘方式

flushDiskType = ASYNC_FLUSH
# Broker服务地址,内部使用填内网ip,如果是需要给外部使用填公网ip,自行更改

brokerIP1 = 192.168.11.99

3. 执行docker-compose up -d 即可成功启动

4.访问控制台

二、SpringBoot集成RockerMQ

1.引入依赖         

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

2.配置服务器地址

#Rocketmq配置
rocketmq.name-server=192.168.11.99:9876
# 必须指定生产者组
rocketmq.producer.group=group01
# 消息发送超时时长,默认3s
rocketmq.producer.send-message-timeout=3000
# 同步发送消息失败重试次数,默认2
rocketmq.producer.retry-times-when-send-failed=3
# 异步发送消息失败重试次数,默认2
rocketmq.producer.retry-times-when-send-async-failed=3

参数约束和建议 | RocketMQ

2.创建生产者

@Component
public class Producer {
 @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public void sendMessage(String topic, String msg) {
        Message<String> msg = MessageBuilder.withPayload(msg).build();
        rocketMQTemplate.send("topic_01",msg);

   

    }
}

3.创建消费者

@Component
@RocketMQMessageListener(topic = "topic_01", consumerGroup = "group_205")
public class Consumer implements RocketMQListener<String> {

    @Override
    public void onMessage(String message) {
        System.out.println("Received message: " + message);
    }

}

三、rocketMQ的延迟消息和死信队列

延迟消息

RocketMQ支持指定级别的延迟消息,即只能设置预设的几个时间等级的延迟,而不是任意时间延迟。目前RocketMQ社区版并不支持任意时间的精确延迟,RocketMQ在4.x版本只能够支持18种内置的延迟消息(1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h),具体实现方式是在发送消息时设置消息的延迟等级。

 @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public void sendMessage(String topic, String message) {
        Message<String> msg = MessageBuilder.withPayload(message).build();
        rocketMQTemplate.syncSend(topic,msg,3000,1);
        log.info("发送成功");
    }

死信队列 

@Service
@Slf4j
@RocketMQMessageListener(consumerGroup = "${rocketmq.consumer.group}", topic = "topic_01")
public class Consumer  implements RocketMQListener<String>, RocketMQPushConsumerLifecycleListener {
    @Override
    public void onMessage(String message) {
        System.out.println("Received message: " + message);
        log.info("Received message: " + message);;
        throw  new RuntimeException("test");
    }
    @Override
    public void prepareStart(DefaultMQPushConsumer consumer) {
        // 设置最大重试次数
        consumer.setMaxReconsumeTimes(2);
        // 如下,设置其它consumer相关属性
        consumer.setPullBatchSize(16);
    }
}

Docker部署RocketMQ+SpringBoot整合RocketMQ(详细教程) 本文讲解了 RockerMQ 相关分布式详细队列理念,还有 将 RocketMQ 进行Docker容器化部署相关内容,最后还实现了SpringBoot 整合 RockerMQ。感兴趣的小伙伴可以看看,别忘了三连哦!谢谢! 阅读详情

相关推荐

Springboot整合Rocketmq系列教程

本教程是基于Springboot2.6.3整合Rocketmq5.0,其中涉及了Rocketmq的安装,消息的发送及消费的代码实现。本文不会对rocketmq的一些概念、原理,及注意事项进行讲解,因为官网已经写的很清楚,又有中文版,详细访问https://rocketmq.apache.org/zh/docs/quickStart/01quickstart。

gzmyh的博客 9111

RocketMQ进阶:SpringBoot配置RocketMQ、延迟消息、消息可靠性、消息过滤

本文通过demo方式讲解了RocketMQ的SpringBoot配置方式及使用,然后介绍了一些对应API的应用,对于日常工作来说,掌握这些内容可以应付大部分使用MQ的工作场景。

雅俗共赏的博客 9489

Mac使用Docker安装RocketMQ,集成到SpringBoot项目

Docker安装RocketMQ,集成到SpringBoot项目 1、构建rocketmq-docker镜像 步骤一 git clone https://github.com/apache/rocketmq-docker.git 步骤二 选择RocketMQ版本并构建镜像 cd image-build sh build-image.sh RMQ-VERSION BASE-IMAGE # 这里是我使用的是:sh build-image.sh 4.8.0 alpine 通过docker images检验镜

weixin_43549148的博客 1183

SpringBoot 集成 RocketMQ

在现代的微服务架构中,消息队列已经成为一种常见的异步处理模式,它能解决服务间的同步调用、耦合度高、流量高峰等问题。RocketMQ是阿里巴巴开源的一款消息中间件,性能优秀,功能齐全,被广泛应用在各种业务场景。

weixin_42383680的博客 2153

SpringBoot集成RocketMQ

RocketMQ踩坑经过

javamangguo的专栏 1697

风力发电机缺陷检测平台

风力发电机缺陷检测平台相关内容展示

weixin_39779415的博客 1111

RocketMQ的docker安装和SpringBoot的集成

rockermq结合docker的基本使用

qq_62965575的博客 396

【学习路线】 游戏客户端开发入门到进阶

游戏开发是一个交叉性极强的技术领域,对开发者提出了高维度的要求。作为初学者,不要急于求成,打牢基础、注重原理、勤于实践,你的成长将会非常快速而稳健。希望这份学习路线与书单能为你指明方向,迈出职业开发者的第一步。

hhw_hhw的博客 2128

RocketMQ第一话 -- Docker安装以及Springboot集成RocketMQ

RocketMQ第一话 -- Docker安装以及Springboot集成RocketMQ RocketMQ是一个分布式队列模型的消息中间件,现支持事务消息、顺序消息、批量消息。定时消息RocketMQ由mqnamesrv和mqbroker组成,内部由group、topic、queue共同工作。全局顺序:一个Topic内所有的消息都发布到到同一个Queue按先进先出的顺序进行消费 上一篇:RabbitMQ第三话 – RabbitMQ高可用集群搭建 下一篇:RocketMQ第二话 – RocketMQ事务消息

生生不息,则源源不断 694

MID360+fastlio功能笔记

前言。

qq_35598561的博客 5297

IEPE加速度同步采集卡、振动信号同步模块、温震一体八路高速采集

WJ288产品是一种物联网和工业以太网采集模块,实现了传感器数据采集并发送到网络。IEPE是“Integrated Electronics Piezo-Electric”的缩写,即集成电路型压电式传感器。这种带内置电子器件的压电传感器已成为工业应用领域的标准。半导体电路将压电传感器的高阻抗信号转换为更容易传输的低阻抗电压信号。借助IEPE,只需一根任意长度的标准电缆即可实现电源供给和信号传输,不会因电缆移动而产生测量误差。

wayjun0903的博客 733

阿里云服务器Docker中RocketMQ的安装与使用和Springboot集成配置

文章目录阿里云服务器Docker中RocketMQ的安装与使用1.搜索镜像2、启动NameServer:3、启动broker:4.进入容器,修改配置文件5.下载rocketmq console控制台SpringBoot集成Rocketmq 阿里云服务器Docker中RocketMQ的安装与使用 1.搜索镜像 docker search rocketmq curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\

weixin_43971047的博客 1664

Unreal5从入门到精通之EnhancedInput增强输入系统详解

从Unreal5开始,老版的输入系统,正式替换为EnhancedInput增强型输入系统,他们之间有什么区别呢?如果有使用过Unity的同学,大概也知道,Unity也在2020版本之后逐渐把输入系统也升级成了新版输入系统,为什么Unreal和Unity都热衷于升级输入系统呢?这之间又有什么联系呢?官方:增强输入EnhancedInput希望这篇文章能够对你有所帮助。

TxNet 944

SpringBoot_rocketmq使用实战_docker环境

记录rocketmq 4.8.0 docker环境安装及springboot集成, 消息功能测试持续集成

Myron_007的博客 1982

【WRF-Chem教程第四期上】运行 WRF-Chem 模型

完整介绍运行 WRF-Chem 模型的详细步骤

WW、forever的博客 3108

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 482

springboot集成rocketmq基础

回顾一下springboot集成rocketmq的一些用法,实例进行测试。

2502_90526087的博客 971

在ros中进行多传感器融合定位

ROS 中的 robots_localization 包是一个非常有用的包,可以使用各种卡尔曼滤波器融合任意数量的传感器!我们将使用它将全局姿势数据(x、y、z 和orientation)与机器人上的现有传感器融合,以实现更强大的定位!

如果想成为中心,那么就到中心去吧。 3001

RocketMQ之基于Docker安装

基于虚拟机启动Ubuntu18,用Docker跑RoketMQ4.8.0

梁诗傑的博客 622

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RocketMQ的windos/linux/docker超详细安装及简单入门!

MQ介绍,RocketMQ简介、安装、入门

Poldroc的博客 2033

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

从安装到使用2020/7/2亲测:springboot集成RocketMq4.5.2

1.安装RocketMq 使用 Docker 安装软件(不会Docker?先去学!!!贼好用!!!) docker pull foxiswho/rocketmq:server docker pull foxiswho/rocketmq:broker docker pull styletang/rocketmq-console-ng 2.配置、启动Mq 启动nameserver docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:s

qq_39035267的博客 640

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SpringBoot进阶(七)整合RocketMQ

RocketMQ是阿里出的一个纯java的消息队列框架,其它的还有Kafka,Rabbitmq等,网上也有很多他们的对比,优缺点一目了然,国内可能RocketMQ使用居多,因为它抗住了全球最大的流量洪峰双十一,而且运行稳定! 下图为引用网上关于三者的对比情况图: 关于MQ的作用这里也不再讲了,自行Baidu,你会了解更多!如果你是安卓开发同学,那你就把他理解成EventBus吧,哈哈! 使用Docker安装RocketMQ: 首先,打开Xftp 6软件连接Linux服务器,在usr/local或者其它文件

白玉梁的专栏 2876

RocketMQ-扩展 ,docker安装,springboot继承

RocketMQ 是一个分布式消息中间件,它包含四个主要组件:NameServer、Broker 、Producer和Consumer。NameServer:(带头大哥NameServer类似于轻量级的服务注册与发现中心,扮演着路由管理的角色。它负责维护 Broker 注册的 Topic 信息、队列信息以及 Broker 的地址列表等路由数据。生产者和消费者都需要连接 NameServer 获取路由信息,从而得知应该向哪个 Broker 发送或订阅消息。Broker:(小弟-干活的)

zhzjn的博客 845

docker安装jdk+nacos+mysql+redis+rabbitmq+RocketMq等三十多种常用容器,并部署/集成jenkins自动化部署jar包项目

docker安装jdk+nacos+mysql+redis+rabbitmq+RocketMq等三十多种常用容器,并部署/集成jenkins自动化部署jar包项目

cputao的博客 2657

JavaEE:RocketMQ安装与使用

一、RocketMQ安装: 1.Centos7系统上安装: 安装Java(x64):https://blog.youkuaiyun.com/a526001650a/article/details/104122455 (1)下载rocketmq-all-4.7.1-bin-release.zip: https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip (2)用Xftp上传到/us

a526001650a的专栏 488

【RocketMq基础篇篇-01】环境搭建、基本使用、可视化界面

rocketmq源码核心篇1

zhenghuishengq的博客 3735
上一篇: RocketMQ介绍
下一篇: MongoDB 初识
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值