看了保证让你高呼“牛逼”的RocketMQ知识体系

2023-11-28 17:10

本文主要是介绍看了保证让你高呼“牛逼”的RocketMQ知识体系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

如果你现在正在看这句话,那么你需要有点时间来对这篇文章进行阅读。文章篇幅超
超超超超长,跟我一样!,文末也整合了一些RocketMQ的资料!
谢谢!如果有帮助,麻烦点赞支持我!

Windows安装部署

下载

地址:[https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip]
选择‘Binary’进行下载
解压已下载工程

配置

新增系统变量 ROCKETMQ_HOME -> F:\RocketMQ\rocketmq-4.5.2
JAVA_HOME -> F:\Java_JDK\JDK1.8 Path
系统变量新增:Maven/bin目录
PS:RocketMQ 消息存储在C:\Users\Administrator\store store目录中 文件占用较大,注意删除不必要的内容

启动

start mqnamesrv.cmd
start mqbroker.cmd -n 127.0.0.1:9876autoCreateTopicEnable=true

Rocket集成可视化监控插件

  1. 任意目录(拉取项目,随便哪里都行)git clone github.com/apache/rock…

  2. 进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,打开‘application.properties’进行配置

  3. 其实就是一个SpringBoot服务,确定好端口,别重复即可
    server.port=8100
    rocketmq.config.namesrvAddr=127.0.0.1:9876

  4. 进入‘\rocketmq-externals\rocketmq-console’文件夹
    执行‘mvn clean package -Dmaven.test.skip=true’,编译生成target
    java -jar rocketmq-console-ng-1.0.1.jar

  5. 根据配置地址访问: http://127.0.0.1:8100

Rocket可视化监控插件 增加Topic | 自动增加Topic(4.5.2版本)

在这里插入图片描述

4.5.2 版本 支持自动创建Topic
4.3.0 版本 必须通过监控程序配置Topic,否则执行程序报错,没有此路由

SpringBoot集成 RocketMQ

<!--RocketMQ-->
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.5.2</version>
</dependency>

RocketMQ基本概念

概览

基于RocketMQ的分布式系统,一般可以分为四个集群:Name server、broker、producer、consumer

  1. name server
  • 提供轻量级的服务发现和路由服务;

  • 每个节点都存放了全部的路由信息和对应的读写服务;

  • 存储支持水平扩展

  1. broker
  • 提供满足TOPIC和QUEUE机制的消息存储服务;
  • 有推和拉两种模式;
  • 通过2或3拷贝实现高可用;
  • 提供上亿消息的堆积能力;
  • 提供故障恢复、统计功能和告警功能;
  1. producer
  • 支持分布式部署,通过负载平衡模块给broker发消息
  • 支持快速失败
  • 低延迟
  1. consumer
  • 支持推和拉两种模式
  • 支持集群消费和广播消费

核心模块

Name Server

提供Broker管理;Routing管理(路由管理)

NameServer,很多时候称为命名发现服务,其在RocketMQ中起着中转承接的作用,是一个无状态的服务,多个NameServer之间不通信。任何Producer,Consumer,Broker与所有NameServer通信,向NameServer请求或者发送数据。而且都是单向的,Producer和Consumer请求数据,Broker发送数据。正是因为这种单向的通信,RocketMQ水平扩容变得很容易

  • 提供轻量级的服务发现和路由服务;
  • 每个节点都存放了全部的路由信息和对应的读写服务;
  • 存储支持水平扩展

总结:相比于ZooKeeper提供的分布式锁,发布和订阅,数据一致性,选举等,在RocketMQ是不适用的,因此重写了一套更加轻量级的发现服务,主要用以存储 Broker相关信息以及当前Broker上的topic信息,路由信息等

Broker Server

提供Remoting Module、客户端管理、存储服务、HA服务(主从)、索引服务

  • 提供满足TOPIC和QUEUE机制的消息存储服务;
  • 有推和拉两种模式;
  • 通过2或3拷贝实现高可用;
  • 提供上亿消息的堆积能力;
  • 提供故障恢复、统计功能和告警功能;
producer
  • 支持分布式部署,通过负载平衡模块给broker发消息
  • 支持快速失败
  • 低延迟
consumer
  • 支持推和拉两种模式
  • 支持集群消费和广播消费

核心角色介绍

生产者

生产者发送业务系统产生的消息给broker, RocketMQ提供了多种发送方式:同步的、异步的、单向的

生产者组

具有相同角色的生产者被分到一组, 假如原始的生产者在事务后崩溃,broker会联系 同一生产者组中的不同生产者实例,继续提交或回滚事务

消费者

一个消费者从broker拉取信息,并将信息返还给应用。为了我们应用的正确性,提供了两种消费者类型:
拉式消费者:拉式消费者从broker拉取消息,一旦一批消息被拉取,用户应用系统将发起消费过程。

推式消费者:推式消费者,从另一方面讲,囊括了消息的拉取、消费过程,并保持了内部的其他工作,留下了一个回调 接口给终端用户去实现,实现在消息到达时要执行的内容。

消费者组

具有相同角色的消费者被

这篇关于看了保证让你高呼“牛逼”的RocketMQ知识体系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/430019

相关文章

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

如何保证android程序进程不到万不得已的情况下,不会被结束

最近,做一个调用系统自带相机的那么一个功能,遇到的坑,在此记录一下。 设备:红米note4 问题起因 因为自定义的相机,很难满足客户的所有需要,比如:自拍杆的支持,优化方面等等。这些方面自定义的相机都不比系统自带的好,因为有些系统都是商家定制的,难免会出现一个奇葩的问题。比如:你在这款手机上运行,无任何问题,然而你换一款手机后,问题就出现了。 比如:小米的红米系列,你启用系统自带拍照功能后