国产化-消息队列RocketMq(替代kafka)-单节点安装
核心概念
- 消息(Message):RocketMQ 中数据的基本单元,包含消息体、消息属性等信息。消息体是实际需要传输的数据,而消息属性可以用于对消息进行分类、过滤等操作。
- 主题(Topic):消息的逻辑分类,用于区分不同类型的消息。生产者将消息发送到特定的主题,消费者则从感兴趣的主题中获取消息。
- 队列(Queue):主题的物理分区,一个主题可以包含多个队列。队列用于实现消息的负载均衡和并行消费,提高消息处理的效率。
- 生产者(Producer):负责创建并发送消息到 RocketMQ 服务器的应用程序。生产者可以根据业务需求选择不同的发送方式,如同步发送、异步发送和单向发送。
- 消费者(Consumer):从 RocketMQ 服务器获取消息并进行处理的应用程序。消费者可以分为推模式和拉模式,推模式下,RocketMQ 主动将消息推送给消费者;拉模式下,消费者主动从服务器拉取消息。
特点
- 高吞吐量:RocketMQ 采用了多种优化技术,如内存映射文件、零拷贝等,能够支持高并发的消息发送和接收,实现每秒数十万级的消息吞吐量。
- 高可靠性:支持消息的持久化,将消息存储在磁盘上,以防止消息丢失。同时,RocketMQ 具有多副本机制,通过主从复制保证数据的可靠性和高可用性。
- 分布式架构:RocketMQ 采用分布式的架构设计,能够轻松实现集群部署,支持水平扩展,以应对不断增长的业务流量。
- 灵活的消息模型:支持多种消息模型,包括发布 / 订阅模型、点对点模型等,满足不同业务场景的需求。
- 丰富的功能特性:提供了消息过滤、事务消息、顺序消息、定时消息等丰富的功能特性,方便开发者根据具体业务场景进行选择和使用。
安装环境:
环境:centos7.6 JDK 1.8+
1、压缩包解压
压缩包rocketmq-all-5.3.1-bin-release.zip放到/opt/RocketMQ
unzip rocketmq-all-5.3.1-bin-release.zip
安装包获取方式:
(1)老虎网盘资源:http://resources.kittytiger.cn/
(2)搜索:RocketMq安装包
2、 启动NameServer
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/bin
# nohup sh mqnamesrv &
### 验证namesrv是否启动成功
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
注:日志地址/root/logs/rocketmqlogs/namesrv.log
3、启动Broker+Proxy
NameServer成功启动后,我们启动Broker和Proxy。这里我们使用 Local 模式部署,即 Broker 和 Proxy 同进程部署
### 先启动broker
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
指定配置文件启动,要在conf下有acl文件夹,acl文件夹下要有acl.yml文件
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy -c /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/conf/broker.conf &
默认的配置文件:/opt/RocketMQ/rocketmq-all-5.3.1-bin-release/conf/broker.conf
### 验证broker是否启动成功,
tail -f ~/logs/rocketmqlogs/proxy.log
2025-03-24 11:46:32 INFO main - The broker[broker-a, 192.168.0.100:10911] boot success. serializeType=JSON and name server is localhost:9876
2025-03-24 11:46:32 INFO main - user specified name server address: localhost:9876
2025-03-24 11:46:32 INFO main - grpc server start successfully.
2025-03-24 11:46:32 INFO main - Mon Mar 24 11:46:32 CST 2025 rocketmq-proxy startup successfully
注:端口占用 lsof -i :10911
4、工具测试消息收发
在进行工具测试消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ有多种方式在客户端中设置NameServer地址,这里我们利用环境变量NAMESRV_ADDR
# export NAMESRV_ADDR=localhost:9876
# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
5、关闭服务器
完成实验后,我们可以通过以下方式关闭服务
# sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker with proxy enable OK(36695)
# sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
--操作
--topic
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/bin
--建立一个TestTopic的topic
[root@minio2 bin]# sh mqadmin updateTopic -n 192.168.0.100:9876 -t TestTopic -c DefaultCluster -a +message.type=NORMAL
create topic to 192.168.0.100:10911 success.
TopicConfig [topicName=TestTopic, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false, attributes={+message.type=NORMAL}]
查看topic列表
sh mqadmin topicList -n 192.168.0.100:9876
国产化-消息队列RocketMq(替代kafka)-单节点安装的更多相关文章
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异
分布式消息服务 Kafka 是一个高吞吐.高可用的消息中间件服务,适用于构建实时数据管道.流式数据处理.第三方解耦.流量削峰去谷等场景,具有大规模.高可靠.高并发访问.可扩展且完全托管的特点,是分布式 ...
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?
我们知道,在早期的RocketMQ版本中,是有依赖ZK的.而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv. 并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常 ...
- 分布式消息队列RocketMQ(一)安装与启动
分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
作者|绍舒 审核&校对:岁月.佳佳 编辑&排版:雯燕 前言 消息队列是分布式互联网架构的重要基础设施,在以下场景都有着重要的应用: 应用解耦 削峰填谷 异步通知 分布式事务 大数据处理 ...
- Kafka 单节点多Kafka Broker集群
Kafka 单节点多Kafka Broker集群 接前一篇文章,今天搭建一下单节点多Kafka Broker集群环境. 配置与启动服务 由于是在一个节点上启动多个 Kafka Broker实例,所以我 ...
- 主流消息队列rocketMq,rabbitMq比对使用
首先整理这个文章是因为我正好有机会实战了一下rocketmq,阿里巴巴的一个开源消息中间件.所以就与以往中rabbitmq进行小小的比较一下.这里主线的根据常见面试问题进行整理. 一.消息队列常用的场 ...
- vertica单节点安装教程
[准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...
- Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...
- hbase伪分布式安装(单节点安装)
hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart 1. 前提配置好java,环境java变量 上传jdk ...
- 二、hdfs单节点安装
一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...
随机推荐
- test1111
了解客户端和服务端的请求原理 HTTP协议及其组成 HTTPS交互原理分析 访问支付宝,微信的开放接口 都是基于HTTP 对外提供的开放服务 API都是基于HTTP协议的, 微服务中的服务之间的调用大 ...
- [ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
使用navicate12运行sql文件出错 报错: [ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'1报错原因:生成转储文件的数据库版本为8.0 ...
- Android ADB 使用笔记
ADB 工作原理 当启动某个adb客户端时,该客户端会先检查是否有adb服务器正在运行,如果没有则启动服务器进程.服务器会在启动后与本地TCP端口 5037 绑定,并监听adb客户端 发出的命令. 服 ...
- 高数小技巧:和 e^x 有关的积分该怎么算?
高数解题也需要日积月累,下面是和 \(e^{x}\) 相关的一些常用解题思路,记得收藏+关注哦,还有更多考研数学实战笔记等着你呢( ̄︶ ̄) 当前高数笔记的最新内容,可以查看: https://zhao ...
- scala - [01] 概述
题记部分 001 || 介绍 (1)Spark -- 新一代内存级大数据计算框架,是大数据的重要内容 (2)Spark就是使用Scala编写的.因此为了更好的学习Spark,需要掌握Scala. (3 ...
- Linux - 配置服务器之间SSH免密登录
如果集群中服务器之间没有配置SSH免密,那么SSH访问其他服务器时就需要输入密码 一般都要设置密码强口令,又长又难记,就想配置一下SSH免密. 一.生成公钥和私钥 在ctos79-01执行如下命令,公 ...
- 循环(Java篇)
令人头痛的循环(:´д`)ゞ 我们在学习循环的时候可能会有点懵,什么是循环?它可以干嘛?我这里为什么要用循环来写这段代码?等问题. 首先我们来讲一下循环可以干嘛 循环是什么?o(′益`)o 在 Jav ...
- 基于近红外与可见光双目摄像头的活体人脸检测,文末附Demo
基于近红外与可见光双目摄像头的活体人脸检测原理 人脸活体检测(Face Anti-Spoofing)是人脸识别系统中的重要一环,它负责验证捕捉到的人脸是否为真实活体,以抵御各种伪造攻击,如彩色纸张打印 ...
- git push解决 error src refspec master does not match anyerror
前言 git push origin master git push 时报错: error: src refspec master does not match anyerror: failed to ...
- Golang 入门 : 符文
字符串常用语表示一系列文本字符,而Go的符文(rune)则用于表示单个字符. 字符串字面量由双引号(")包围,但rune字面量由单引号(')包围. Go程序几乎可以使用地球上任何语言的任何字 ...