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

编程入门 行业动态 更新时间:2024-10-24 02:01:43

看了保证<a href=https://www.elefans.com/category/jswz/34/1767235.html style=让你高呼“牛逼”的RocketMQ知识体系"/>

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

前言:

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

Windows安装部署

下载

地址:[.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/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知识体系

本文发布于:2024-02-05 10:04:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1744822.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:让你   看了   体系   知识   RocketMQ

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!