当前位置: 首页 > news >正文

消息队列-RocketMQ-概览与搭建

RocketMQ 领域模型

RockeMQ整体结构预览

在这里插入图片描述

RocketMQ 中的一些概念
Topic:主题,可以理解为类别、分类的概念
MessageQueue:消息队列,存储数据的一个容器(队列索引数据),默认每个 Topic 下有 4 个队列被分配出来存储消息。
Message:消息,真正携带信息的载体概念
Producer:生产者,负责发送消息
Consumer:消费者,负责消费消息
ConsumerGroup:众多消费者构成的整体或构成的集群,称之为消费者组。
Subscription:订阅关系,消费者得知道自己需要消费哪个 Topic 下的哪个队列的数据

RocketMQ 单机服务搭建

二进制下载主页
启动文档
我这里使用docker,具体的启动参数我没有研究只是搭建一个可用的跑案例:

docker run -d -p 9876:9876 -v /env/liyong/data/docker/rocketmq/namesrv/logs:/root/logs -v /env/liyong/data/docker/rocketmq/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq:5.1.4 sh mqnamesrvdocker run -d -p 10911:10911 -p 10909:10909 -v  /env/liyong/data/docker/rocketmq/broker/logs:/root/logs -v  /env/liyong/data/docker/rocketmq/broker/store:/root/store -v  /env/liyong/data/docker/rocketmq/broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=100000000" -e "JAVA_OPT_EXT=-server -Xms1g -Xmx1g -Xmn512m" apache/rocketmq:5.1.4 sh mqbroker -c /opt/rocketmq/conf/broker.conf
#控制台
docker run -d --name rmqconsole -p 9800:8080 --link rmqnamesrv:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -t apacherocketmq/rocketmq-dashboard
#broker.conf 
#这段配置是我网上找的,如果是要生产环境使用的话可以再研究一下官方文档
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址 我这边直接给的服务器的外网地址
brokerIP1 = 111.229.199.181
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
#是否开启消息轨迹 用于记录消息
traceTopicEnable=true

需要注意这里如果内存不够是会报异常无法启动:
指定这个参数即可 -e “JAVA_OPT_EXT=-server -Xms1g -Xmx1g -Xmn512m”
在这里插入图片描述

控制台看板(如果是云服务器不要忘记暴露该暴露的端口):
在这里插入图片描述

http://www.lryc.cn/news/277608.html

相关文章:

  • Vue3技术解析(小册子)
  • 即将消失的五种编程语言?
  • c++学习:STL库(框架)+字符串模板类string+vector容器+list链表
  • 2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷④
  • 使用Scikit Learn 进行识别手写数字
  • GB/T 15036-2018 实木地板检测
  • 基于ElementUI封装的下拉树选择可搜索单选多选清空功能
  • 计算机网络-各层协议
  • LeetCode 84:柱状图中的最大矩形
  • 老生重谈:大模型的「幻觉」问题
  • golang实现skiplist 跳表
  • 尝试OmniverseFarm的最基础操作
  • 第28关 k8s监控实战之Prometheus(二)
  • 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统
  • Kafka(四)Broker
  • 代码随想录第五十二天——最长递增子序列,最长连续递增序列,最长重复子数组
  • 【大数据架构】OLAP实时分析引擎选型
  • 代码随想录刷题题Day29
  • CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞
  • 如何寻找到相对完整的真正的游戏的源码 用来学习?
  • 数模学习day11-系统聚类法
  • SpringBoot+Redis实现接口防刷功能
  • TensorRT加速推理入门-1:Pytorch转ONNX
  • springboot常用扩展点
  • 19道ElasticSearch面试题(很全)
  • 向爬虫而生---Redis 拓宽篇3 <GEO模块>
  • Vue项目里实现json对象转formData数据
  • leetcode刷题记录
  • SpringMVC通用后台管理系统源码
  • 深度解析Dubbo的基本应用与高级应用:负载均衡、服务超时、集群容错、服务降级、本地存根、本地伪装、参数回调等关键技术详解