【2023裸辞失业后之初学RocketMQ】

这篇具有很好参考价值的文章主要介绍了【2023裸辞失业后之初学RocketMQ】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RocketMQ概述

MQ概述

Message Queue:是提供消息队列服务的中间件,提供消息生产,存储,消费的全过程。
作用:限流削峰,异步解耦。

常见的MQ产品

ActiveMQ:早期产品,使用Java开发的
RabbitMQ:吞吐量比kafuka和RocketMQ低,不是Java开发(ErLang),定制开发难度大
Kafuka:高吞吐量,常用于大数据领域实时计算和日志收集,采用Scala/Java开发,采用自研协议
RocketMQ:阿里巴巴产品,经过多年双十一检验,使用Java开发
【2023裸辞失业后之初学RocketMQ】,rocketmq

常见的协议

    JMS,Java Messaging Service (Java消息服务)。是Java平台上有关MOM(的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口,简化企业应用的开发。ActiveMO是该协议的典型实现。
    STOMP, Streaming Text Orientated Message Protocol,是一种MOM设计的简单文本协议。STOMP提供一个可互操作的连接格式,允许客户端与任意STOMP消息代理进行交互。ActiveMQ是该协议的典型实现,RabbitMO通过插件可以支持该协议。
    AMOP,Advanced Message Oueuing Protocol(高级消息队列协议),一个提供统一消息服务的应用层标准,是应用层协议的一个开放标准,是一种MOM设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。 RabbitMQ是该协议的典型实现。

Rocket的安装和启动

基本概念

消息(Message):消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题。
主题(Topic) :Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位,一个生产者可以同时发送多种Topic的消息;而一个消费者只对某种特定的Topic感兴趣,即只可以订阅和消费一种Topic的消息。
【2023裸辞失业后之初学RocketMQ】,rocketmq
队列(Queue) :存储消息的物理实体。一个Topic中可以包含多个Queue,每个Queue中存放的就是该Topic的消息Topic的Queue也被称为一个Topic中消息的分区。一个Topic的Queue中的消息只能被一个消费者组中的一个消费者消费
【2023裸辞失业后之初学RocketMQ】,rocketmq

系统架构

1)producer:消息生产者,负责生产消息。Producer通过MO的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。
    RocketMQ中的消息生产者都是以生产者组(Producer Group) 的形式出现的。生产者组是同一类生产者的集合,这类Producer发送相同Topic类型的消息。
2)Consumer:消息消费者,负责消费消息。一个消息消费者会从Broker服务器中获取到消息,并对消息进行相关业务处理。
    RocketMO中的消息消费者都是以消费者组 (Consumer Group) 的形式出现的。消费者组是同一类消费者的集合,这类Consumer消费的是同一个Topic类型的消息。消费者组使得在消息消费方面,实现负载均衡和容错的目标变得非常容易。
【2023裸辞失业后之初学RocketMQ】,rocketmq
3)NameServer:NameServer是一个Broker与Topic路由的注册中心,支持Broker的动态注册与发现。主要包括两个功能:

  • Broker管理: 接受Broker集群的注册信息并且保存下来作为路由信息的基本数据;提供心跳检测机制,检查Broker是否还存活。
  • 路由信息管理: 每个NameServer中都保存着Broker集群的整个路由信息和用于客户端查询的队列信息。Producer和Conumser通过NameServer可以获取整个Broker集群的路由信息,从而进行消息的投递和消费。

安装RocketMQ和控制台

1)到官网下载下载 下载地址 下载二进制的
【2023裸辞失业后之初学RocketMQ】,rocketmq2)把这个包放到linux中,解压,修改bin中的 runserver.sh,runbroker.sh

unzip rocketmq-all-5.1.3-bin-release.zip

把下面这些内存改小(配置文件都看一遍,不同版本的配置文件可能不同),我这里是已经改好的
【2023裸辞失业后之初学RocketMQ】,rocketmq【2023裸辞失业后之初学RocketMQ】,rocketmq
【2023裸辞失业后之初学RocketMQ】,rocketmq
3)修改conf下broker.conf,加上下面两行

namesrvAddr=服务器外网IP:9876
brokerIP1=服务器外网IP

3.5)设置密码

  1. 创建密码文件: 首先,你需要创建一个密码文件,其中包含用户的用户名和密码。可以使用如下格式创建一个密码文件(例如:broker-users.properties):
# 用户名=密码
userA=passwordA
userB=passwordB

  1. 密码文件放置位置: 将创建的密码文件放置在 RocketMQ 的配置目录下,一般是 conf 文件夹。
  2. Broker 配置: 修改 broker.conf 配置文件,找到以下配置项,并添加对应的值:
# 启用密码认证
enablePropertyFilter=true

# 指定密码文件的路径
propertyFile=${user.home}/conf/broker-users.properties

4)改完之后 看官网教程往下走就行 官网教程,注意启动broker的时候执行

nohup sh mqbroker -n localhost:9876 --enable-proxy &   -c ../conf/broker.conf & tail -f nohup.out

5)安装控制台,我是在docker中装的 安装docker教程(直接运行的springboot项目太麻烦了)
运行如下命令即可文章来源地址https://www.toymoban.com/news/detail-604819.html

docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=你的主机ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 9800:8080 pangliang/rocketmq-console-ng

到了这里,关于【2023裸辞失业后之初学RocketMQ】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023年,真的别裸辞....

     作为IT行业的大热岗位——软件测试,只要你付出了,就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的,但放眼望去,哪个工作不是这样的呢?会有哪家公司愿意养一些闲人呢?大龄员工有被辞退的,也有没被辞退的。不管哪个职

    2024年02月07日
    浏览(32)
  • 2023年,千万别裸辞....

    作为IT行业的大热岗位——软件测试,只要你付出了,就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的,但放眼望去,哪个工作不是这样的呢?会有哪家公司愿意养一些闲人呢?大龄员工有被辞退的,也有没被辞退的。不管哪个职业

    2024年02月06日
    浏览(32)
  • 【RocketMQ】SpringBoot集成RocketMQ

    SpringBoot集成RocketMQ 首先依旧是引入依赖 然后就可以编写发送不同类型消息的代码了

    2024年02月12日
    浏览(35)
  • 【RocketMQ】005-Docker 部署 RocketMQ

    MQ 镜像 可视化平台镜像 创建 nameserver 挂载目录 创建 broker 目录 创建 broker 配置文件目录 目录:/home/zibo/docker/rocketmq/data/conf vim broker.conf 启动 nameserver docker run : 这是Docker命令,用于创建和管理Docker容器。 -d : 这是一个选项,指示Docker在后台运行容器。 --restart=always : 这是一个

    2024年02月16日
    浏览(39)
  • 【RocketMQ】CentOS8安装RocketMQ

    检查jdk环境 RocketMQ是基于java开发的,安装之前请先查看是否有jdk环境 如果没有请去官网(https://www.oracle.com/java/technologies/downloads/#java8)下载 下载RocketMQ安装包 前往官网(https://rocketmq.apache.org/download)下载,选择二进制文件 在Linux环境中安装 把下载好的文件传入Linux系统中,

    2024年02月12日
    浏览(48)
  • 【RocketMQ】RocketMQ标签、过滤及消息重复消费

    参考文档: 官方文档 Topic 与 Tag 都是业务上用来归类的标识,区别在于 Topic 是一级分类,而 Tag 可以理解为是二级分类。使用 Tag 可以实现对 Topic 中的消息进行过滤。 注: Topic:消息主题,通过 Topic 对不同的业务消息进行分类。 Tag:消息标签,用来进一步区分某个 Topic 下

    2024年02月07日
    浏览(47)
  • RocketMQ 学习教程——(二)SpringBoot 集成 RocketMQ

    在 Maven 仓库【https://mvnrepository.com/】中搜索 RocketMQ 依赖: 在 SpringBoot 项目的 Pom.xml 文件中添加对应 MQ 版本的依赖: YAML 配置 在 SpringBoot 项目的 yml 配置文件中添加以下配置: 创建监听器 创建一个 MQMsgListener 类用于监听 RocketMQ 的消息,类上标注注解: @Component 、 @RocketMQMe

    2024年02月03日
    浏览(43)
  • 08-Linux安装RocketMQ、RocketMQ控制台

    下载RocketMQ         http://rocketmq.apache.org/release_notes/release-notes-4.4.0/ 环境要求         Linux 64位操作系统         64bit JDK 1.8+ 1 上传文件到Linux系统         /usr/local/rocketMQ 2 解压到安装目录         unzip rocketmq-all-4.4.0-bin-release.zip 3 解压后的文件夹名为 rocketmq-4

    2024年02月05日
    浏览(39)
  • Springbootg整合RocketMQ ——使用 rocketmq-spring-boot-starter 来配置发送和消费 RocketMQ 消息

           本文解析将 RocketMQ Client 端集成为 spring-boot-starter 框架的开发细节,然后通过一个简单的示例来一步一步的讲解如何使用这个 spring-boot-starter 工具包来配置,发送和消费 RocketMQ 消息。 添加maven依赖: 修改application.properties 注意: 请将上述示例配置中的 127.0.0.1:9876 替换

    2024年03月22日
    浏览(42)
  • 【RocketMQ】RocketMQ 5.0新特性(三)- Controller模式

    在RocketMQ 5.0以前,有两种集群部署模式,分别为主从模式(Master-Slave模式)和Dledger模式。 主从模式 主从模式中分为Master和Slave两个角色,集群中可以有多个Master节点,一个Master节点可以有多个Slave节点。Master节点负责接收生产者发送的写入请求,将消息写入CommitLog文件,Sl

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包