【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置

这篇具有很好参考价值的文章主要介绍了【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目信息

1 版本

  1. JAVA 17
  2. SpringBoot 3.0.5
  3. CentOS 7.5
  4. Rocket 5.1.0

2 依赖

<!-- SpringBoot 依赖 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- RocketMQ 依赖 -->
<dependency>
	<groupId>org.apache.rocketmq</groupId>
	<artifactId>rocketmq-spring-boot-starter</artifactId>
	<version>2.2.3</version>
</dependency>

3 配置

rocketmq.name-server=127.0.0.1:9876
rocketmq.producer.group=BREAD_ORDER_GROUP

4 项目结构

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

二、RocketMQ的Docker配置部署

1 RocketMQ部署

1.1 查看镜像

docker search apache/rocketmq

1.2 拉取镜像

docker pull apache/rocketmq:5.1.0

1.3 查看已拉取镜像

docker images

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

1.4 创建挂载文件夹

1.4.1 创建Broker挂载文件夹

mkdir /home/rocketmq/broker/bin -p
mkdir /home/rocketmq/broker/conf -p
mkdir /home/rocketmq/broker/logs -p
mkdir /home/rocketmq/broker/store -p

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

1.4.2 创建NameServer挂载文件夹

mkdir /home/rocketmq/nameserver/bin -p
mkdir /home/rocketmq/nameserver/conf -p

1.5 启动容器以复制配置文件

1.5.1 启动NamerServer容器

docker run -d \
--privileged=true \
--name testnameserver \
apache/rocketmq:5.1.0 sh mqnamesrv

1.5.2 复制NameServer启动脚本

docker cp testnameserver:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh /home/rocketmq/nameserver/bin/runserver.sh

1.5.3 修改脚本文件

vim /home/rocketmq/nameserver/bin/runserver.sh

# 注释该行
calculate_heap_sizes

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache
1.5.4 停止并删除NameServer容器

docker stop testnameserver

docker rm testnameserver

1.5.5 启动Broker容器

docker run -d \
--name testbroker \
--privileged=true \
apache/rocketmq:5.1.0 \
sh mqbroker

1.5.6 复制Broker启动脚本

docker cp testbroker:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh /home/rocketmq/broker/bin/runbroker.sh

1.5.7 修改脚本文件

vim /home/rocketmq/broker/bin/runbroker.sh

# 注释该行
calculate_heap_sizes

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache
1.5.8 停止并删除Broker容器

docker stop testbroker

docker rm testbroker

1.6 创建broker.conf配置文件

vim /home/rocketmq/broker/conf/broker.conf
# 你的NameServer服务器公网IP地址与端口号
namesrvAddr=127.0.0.1:9876
# 集群名称
brokerClusterName = DefaultCluster
# 节点名称
brokerName = broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0 
brokerId = 0
# Broker服务地址(你的服务器公网IP地址)
brokerIP1 = 127.0.0.1
# Broker角色
brokerRole = ASYNC_MASTER
# 刷盘方式
flushDiskType = ASYNC_FLUSH
# 删除时间(4点)
deleteWhen = 04
# 文件保留时间(72小时)
fileReservedTime = 72
# 是否允许Broker自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable = true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup = true
# 检测可用的磁盘空间大小,超过后会写入报错(95%)
diskMaxUsedSpaceRatio=95

1.7 文件夹赋权

chmod -R 777 /home/rocketmq/

1.8 启动容器

1.8.1 启动NameServer容器

docker run -d \
--privileged=true \
--restart=always \
--name nameserver \
-p 9876:9876  \
-v /home/rocketmq/nameserver/logs:/home/rocketmq/logs \
-v /home/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh \
-e "MAX_HEAP_SIZE=256M" \
-e "HEAP_NEWSIZE=128M" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
apache/rocketmq:5.1.0 sh mqnamesrv

1.8.2 启动Broker容器

docker run -d \
--restart=always \
--name broker  \
-p 10911:10911 -p 10909:10909 \
--privileged=true \
-v /home/rocketmq/broker/logs:/root/logs \
-v /home/rocketmq/broker/store:/root/store \
-v /home/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \
-v /home/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh \
-e "MAX_HEAP_SIZE=512M" \
-e "HEAP_NEWSIZE=256M" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
apache/rocketmq:5.1.0 \
sh mqbroker -c /home/rocketmq/broker.conf

1.9 查看当前容器

docker ps

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

2 部署RocketMQ可视化控制台

2.1 查看镜像

docker search apacherocketmq/rocketmq-dashboard

2.2 拉取镜像(默认最新版本)

docker pull apacherocketmq/rocketmq-dashboard

2.3 启动容器

# 你的NameServer服务器公网IP地址与端口号
docker run -d \
--restart=always \
--name dashboard \
-e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8082:8080 \
apacherocketmq/rocketmq-dashboard

2.4 查看当前容器

docker ps

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

3 开放对应端口

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

4 访问可视化控制台

# 你的服务器公网IP地址
http://127.0.0.1:8082/

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

三、代码测试

1 根据项目信息搭建完成模块

2 补充配置信息(由于SpringBoot3.0以上版本所引发)

2.1 在resource下创建META-INF文件夹

2.2 在META-INF文件夹下创建spring文件夹

2.3 创建文件

# 文件名信息
org.springframework.boot.autoconfigure.AutoConfiguration.imports

# 文件内容
org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

3 创建消息发送测试类

package com.catalpa.study.test;
 
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class OrderController {
 
    @Autowired
    private RocketMQTemplate rocketMQTemplate;
 
    @RequestMapping("/test")
    public String order() {
        String test = "123测试";
        rocketMQTemplate.convertAndSend("ORDER_TOPIC", test);
        return test;
    }
}

4 创建消费测试类

package com.catalpa.study.listener;

import org.apache.rocketmq.spring.annotation.ConsumeMode;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;

@Service
@RocketMQMessageListener(topic = "ORDER_TOPIC", consumerGroup = "BREAD_ORDER_GROUP", consumeMode = ConsumeMode.ORDERLY)
public class NormalRocketMqListener implements RocketMQListener<String> {
    @Override
    public void onMessage(String s) {
        System.out.println("普通订阅-接收到的信息:{}"+ s);
    }
}

5 测试

5.1 启动项目

5.2 访问消息发送测试接口

http://127.0.0.1:8081/test

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache

5.3 测试成功

【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置,后端开发,操作系统,java,spring boot,apache文章来源地址https://www.toymoban.com/news/detail-521267.html

到了这里,关于【Docker】RocketMQ5.1.0的配置部署与基于SpringBoot3.0.5的代码基础配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【RocketMQ】005-Docker 部署 RocketMQ

    MQ 镜像 可视化平台镜像 创建 nameserver 挂载目录 创建 broker 目录 创建 broker 配置文件目录 目录:/home/zibo/docker/rocketmq/data/conf vim broker.conf 启动 nameserver docker run : 这是Docker命令,用于创建和管理Docker容器。 -d : 这是一个选项,指示Docker在后台运行容器。 --restart=always : 这是一个

    2024年02月16日
    浏览(31)
  • SpringBoot3集成RocketMq

    标签:RocketMq5.Dashboard; RocketMQ因其架构简单、业务功能丰富、具备极强可扩展性等特点被广泛应用,比如金融业务、互联网、大数据、物联网等领域的业务场景; 在 rocketmq-starter 组件中,实际上依赖的是 rocketmq-client 组件的 5.0 版本,由于两个新版框架间的兼容问题,需要添

    2024年02月12日
    浏览(37)
  • RocketMQ Docker部署

    1. 镜像制作前准备 1.1 clone rocketmq-docker项目的代码 执行上面命令克隆下来这项目的代码。 2. 构建镜像 这里需要构建的镜像有两个 rocketmq-dashboard镜像(web控制台) rocketmq镜像(NameSrv和Broker) 2.1 rocketmq镜像构建 原理:通过版本和BASE-IMAGE(支持centos, alpine)来判断是使用 Dockerfile-centos文

    2024年02月11日
    浏览(23)
  • Apache RocketMQ docker单机部署以及docker高可用部署方案

    Apache RocketMQ可以通过Docker进行单机部署和高可用部署。下面我将为你提供两种方案的概述。 单机部署方案 : 1、拉取RocketMQ镜像: 首先,从Docker Hub上拉取RocketMQ官方提供的镜像。你可以使用以下命令来拉取最新版本的RocketMQ镜像: 2、创建网络: 在Docker中创建一个网络,用于

    2024年02月16日
    浏览(27)
  • 常用环境部署(七)——Docker安装RocketMQ

    (1)拉取镜像 (2)创建一个数据目录 即创建一个namesrv数据存储路径 (3)构建namesrv容器  (4)参数说明 参数 说明 -d 以守护进程的方式启动 - -restart=always docker重启时候容器自动重启 - -name rmqnamesrv 把容器的名字设置为rmqnamesrv -p 9876:9876 把容器内的端口9876挂载到宿主机98

    2023年04月14日
    浏览(35)
  • docker 部署一个单节点的rocketmq

    拉取镜像 创建数据挂载目录 启动NameServer 编辑broker配置文件 启动broker 启动web端控制rocketmq 通过浏览器进行访问:http://192.168.214.134:8080/

    2024年02月15日
    浏览(28)
  • RocketMQ部署 Linux方式和Docker方式

    准备一台Linux机器,部署单master rocketmq节点 系统 ip 角色 模式 CENTOS 10.4.7.126 Nameserver,broker Master 1. 配置JDK rocketmq运行需要依赖jdk,安装步骤略。 2. 下载和配置 从官网下载安装包 https://rocketmq.apache.org/zh/download/ ,并上传到CENTOS系统中,并进行解压 修改rocketmq启动所需配置文件

    2024年02月12日
    浏览(28)
  • arm版mac使用docker部署rocketMQ

    最近在做一些关于rocketMQ社区工作。由于需要测试多个版本的兼容性,公司开发环境只有一个版本集群,于是想使用docker部署测试。官方并没有提供arm版本的镜像,docker hub上下载了几个都有问题。 索性rockeMQ社区提供多个边缘组件,其中有单独的项目用于编译镜像。于是自己

    2024年02月09日
    浏览(33)
  • docker部署RocketMQ(外网IP)10911链接失败

    在此步骤对接JAVA项目可能会出现外网连接MQ(connect:xxx.xxx.xxx.xxx:10911)异常 指定配置文件 配置文件内容如下: 解决办法: 如果上述方法仍未解决 进入容器使用linux命令查找所有broker配置文件全部修改为以上配置文件样式并重启容器 修改文件内容

    2024年02月14日
    浏览(27)
  • docker、docker-compose部署rocketmq4.7.0

    1.版本历史 4.7.0 server-4.6.1 , broker-4.6.1 server-4.5.2 , broker-4.5.2 server-4.5.1 , broker-4.5.1 server-4.5.0 , broker-4.5.0 2.本镜像使用的是官方的 https://github.com/apache/rocketmq-docker 官方地址,有问题找官方 rocketmq rocketmq Version 4.5.1, 4.5.2 ,4.6.1 , 4.7.0 3.docker-rocketmq 镜像 4.7.0 版本镜像 将 不在根据base镜像

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包