2.10日学习打卡----初学RocketMQ(一)
2.10日学习打卡
对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ
各大MQ产品比较



一.RocketMQ概述
发展历程

RocketMQ概念术语
- 生产者和消费者
生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统,它负责消费消息。

- 消息模型(Message Model)
消息模型主要有队列模型和发布订阅模型,RabbitMQ采用的是队列模型,如下图所示

RocketMQ采用发布订阅模型,模型如图所示:

- 主题(Topic)

表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。
- 代理服务器(Broker Server)

消息中转角色,负责存储消息、转发消息。
- 名字服务(Name Server)
名称服务管理代理服务器broker,相当于一个管理机构。
-
生产者组(Producer Group)

同一类Producer的集合,这类Producer发送同一类消息且发送逻辑一致。 -
消费者组(Consumer Group)

同一类Consumer的集合,这类Consumer通常消费同一类消息且消费逻辑一致。
- 拉取式消费(Pull Consumer)

Consumer消费的一种类型,应用通常主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制。一旦获取了批量消息,应用就会启动消费过程。
- 推动式消费(Push Consumer)

Consumer消费的一种类型,该模式下Broker收到数据后会主动推送给消费端,该消费模式一般实时性较高。
-
普通顺序消息(Normal Ordered Message)

普通顺序消费模式下,消费者通过同一个消息队列( Topic 分区,称作 Message Queue) 收到的消息是有顺序的,不同消息队列收到的消息则可能是无顺序的。 -
严格顺序消息(Strictly Ordered Message)

严格顺序消息模式下,消费者收到的所有消息均是有顺序的。
二 . RocketMQ安装与配置

环境搭建与测试
下载地址:https://rocketmq.apache.org/zh/release-notes/

选择第二个 binary 安装
- 首先使用rz命令 将文件上传到虚拟机
- 解压文件 unzip rocketmq-all-5.1.4-bin-release.zip(自己的版本)
- 重命名文件夹名字便于修改 mv rocketmq-all-5.1.4-bin-release rocketmq-5.1.4
- 移动文件夹到 /usr/local 目录下 mv rocketmq-5.1.4 /usr/local
- 修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk-11.0.11/
export PATH=$PATH:$JAVA_HOME/bin
export ROCKETMQ_HOME=/usr/local/rocketmq-5.1.4(自己的版本)
export PATH=$PATH:$ROCKETMQ_HOME/bin
- 启动NameServer nohup sh mqnamesrv &
- 启动broker nohup sh mqbroker -n localhost:9876
RocketMQ管理命令
mqadmin help 命令名称
- 启动namesrv和broker
./mqnamesrv #启动nameserver
./mqbroker -n localhost:9876 -c /opt/alibaba-rocketmq/conf/broker.conf #启动broker
- #启动broker
tail -f ~/logs/rocketmqlogs/namesrv.log
#查看日志
tail -f ~/logs/rocketmqlogs/broker.log
#查看日志
- 新增topic
mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t topicWarning
- 查看某个topic的状态
mqadmin topicStatus -n localhost:9876 -t topicWarning
- 查看所有消费组group
mqadmin consumerProgress -n localhost:9876
- 查看所有topic
mqadmin topicList -n localhost:9876
- 删除topic
mqadmin deleteTopic -n localhost:9876 -c DefaultCluster -t topicWarning
- 关闭namesrv和broker服务
mqshutdown namesrv
mqshutdown broker
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

相关文章:
2.10日学习打卡----初学RocketMQ(一)
2.10日学习打卡 对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ 各大MQ产品比较 一.RocketMQ概述 发展历程 RocketMQ概念术语 生产者和消费者 生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统&…...
Window中出现 结束服务又自动重启的解决方法
目录 前言1. 问题所示2. 原理分析3. 解决方法前言 长期使用Linux操作系统,对于Window进程如何关闭开启,推荐阅读:Window命令行 如何查看以及关闭进程 而现在遇到进程无法强制kill,过一会自动启动! 对这种方式如何强制关闭,可看下文 1. 问题所示 起初在驱动某个服务的…...
Bee V2.2 分库分表 Sharding+MongoDB ORM 稳定版发布 (更新 Maven)
Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑!仅 860K, 还不到 1M, 但却是功能强大! V2.2 (2024.1.1・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…...
机器学习系列——(十五)随机森林回归
引言 在机器学习的众多算法中,随机森林以其出色的准确率、对高维数据的处理能力以及对训练数据集的异常值的鲁棒性而广受欢迎。它是一种集成学习方法,通过构建多个决策树来进行预测和分类。本文将重点介绍随机森林在回归问题中的应用,即随机…...
【概念板块统计】股票板块一览表 股票概念一览表
一、什么叫股票概念板块 股票概念板块是指具有某种特别产品类型(例如5G概念,光刻机概念)、服务类型(如乡村振兴概念、养老概念)或事件类型(如重组概念、港股通概念、扭亏概念)的股票组成的群体。这些类型通…...
c#通过反射完成对象自动映射
在 C# 中,可以使用 AutoMapper 库来完成对象之间的映射,而不必手动编写显式的映射代码。但是,如果你希望通过反射来动态完成对象的映射,你可以编写自己的映射逻辑并使用反射来完成这个过程。 下面是一个简单的示例,演…...
ef core原始sql查询
ef core用原始sql查询,不能自动映射到类型中。 处理主要是将sql查询结果转换为json,然后再将json转换为类型对象 public async Task<List<Warning_log>> GetStatData(){string sql "SELECT CONVERT(date, [trigger_time]) as tr…...
2024 CKS 题库 | 4、RBAC - RoleBinding
CKS 题库 4、RBAC - RoleBinding Context 绑定到 Pod 的 ServiceAccount 的 Role 授予过度宽松的权限。完成以下项目以减少权限集。 Task 一个名为 web-pod 的现有 Pod 已在 namespace db 中运行。 编辑绑定到 Pod 的 ServiceAccount service-account-web 的现有 Role&#…...
Docker Compose实例
目录 一、前提说明 二、简单的Docker容器部署案例 1. Dockerfile 配置 2. docker-compose.yml 配置 3. application-prod.properties 配置 4. pom.xml 配置 5. 上传文件 6. 创建基础Docker镜像 7. docker-compose.yml编排 8. 停止并删除容器编排 三、案例地址 一、前…...
Mac上新版InfluxDB使用教程
一、简介 官网:influxdb 二、influxdb安装 建议使用Homebrew在 macOS 上安装 InfluxDB v2: brew install influxdb启动influxdb服务:brew services start influxdb 停止influxdb服务:brew services stop influxdb 查看是否启…...
性能篇:网络通信优化之序列化
嗨,小米的朋友们!欢迎回到小米的技术分享空间。今天,我们将深入探讨网络通信中一个不可忽视的重要环节——序列化。废话不多说,让我们一起来揭开序列化的神秘面纱! 背景 序列化作为计算机领域中重要的概念,其存在背景根植于分布式系统和跨语言通信的需求。随着信息技术…...
【UE 游戏编程基础知识】
目录 0 引言1 基础知识1.1 拓展:3D数学和计算机图形学的关系 🙋♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:【UE 游戏编程基础知识】❣️ 寄语:书到用时方恨少,事…...
原语,原子,线程安全
原子操作和原语是计算机科学中常见的概念,通常用于多线程或多进程环境中,以确保数据的一致性和同步。 原子操作(Atomic Operations) 原子操作是不可再分的操作,在执行完毕之前不会被线程调度系统中断的操作。从外部看…...
fast.ai 机器学习笔记(一)
机器学习 1:第 1 课 原文:medium.com/hiromi_suenaga/machine-learning-1-lesson-1-84a1dc2b5236 译者:飞龙 协议:CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它,这些笔记将继续更…...
Linux下的socket操作
一、TCP服务端 创建一个TCP服务器的基本操作: 创建一个套接字(socket):使用socket函数绑定套接字(socket):将套接字绑定到一个特定的IP地址和端口号上,这些信息要用结构体sockaddr_in来保存监…...
爬虫练习——动态网页的爬取(股票和百度翻译)
动态网页也是字面意思:实时更新的那种 还有就是你在股票这个网站上,翻页。他的地址是不变的 是动态的加载,真正我不太清楚,只知道他是不变的。如果用静态网页的方法就不可行了。 静态网页的翻页,是网址是有规律的。 …...
Name or service not known问题解决和分析过程解析
目 录 一、问题描述 二、问题查处过程 (一)为何不能识别到bogon (二)为何会出现bogon (三)能不能更改bogon (四)能识别其他host的名字 三、问题分析 四、问题解决 …...
emmet语法
一.html $排序 直接.dem或#two是默认div 内容可写{}里 二.css 直接写首字母 三.格式化 一次(右键格式化) 永久...
【PTA主观题】8-1 文件操作
题目要求 编写函数int input(FILE * fp),录入学生的信息,自定义录入结束方式,但至少包括学号、姓名、班级、分数和登录密码,并按照学号排序后以二进制方式存入stus.dat,函数返回学生数量;定义函数void enc…...
机器学习算法决策树
决策树的介绍 决策树是一种常见的分类模型,在金融风控、医疗辅助诊断等诸多行业具有较为广泛的应用。决策树的核心思想是基于树结构对数据进行划分,这种思想是人类处理问题时的本能方法。例如在婚恋市场中,女方通常会先询问男方是否有房产&a…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
