前言最近公司在使用MQ消息队列,作为一个强大的消息存储中间件,我主要用于远程数据传送和回调,消息队列在互联网技术存储方面使用如此广泛,对于面试后端技术的面试官都会在消息队列的使用和原理方面无死角的盘问,于是我想根据个人的看法写了这篇面试必备的消息队列。在实际开发过程中,我们使用比较高的消息队列中间件有哪些?而我在工作当中所用过的消息队列中间件主要有 RocketMQ、Kafka和RabbitMQ,
转载
2024-09-20 10:05:13
41阅读
文章目录消息队列 RocketMQ:(一)概述消息队列 RocketMQ:(二)系统架构消息队列 RocketMQ:(三)发送普通消息(三种方式)消息队列 RocketMQ:(四)顺序消息消息队列 RocketMQ:(五)延时消息消息队列 RocketMQ:(七)批量消息前提创建一个 Maven 的 Java 工程。 引入 RocketMQ 的 Client 依赖,版本需要和服务端一致。<d
转载
2024-06-22 11:40:35
42阅读
0、解压缩下载的文件unzip rocketmq-all-4.9.0-source-release.zip1、启动NameServer(必须先安装JDK)1、启动NameServernohup sh bin/mqnamesrv &2、查看启动日志tail -f ~/log/rocketmqlogs/namesrv.log2、启动Broker1、启动Brokernohup sh bin/mq
SpringBoot2.0—国际化国际化源码解析如何编写我们自己的国际化源码地址: 国际化源码解析1.查看MessageSourceAutoConfiguration类,springBoot已经默认自动配置好了管理国际化资源文件的组件;@Bean
@ConfigurationProperties(
prefix = "spring.messages"
)默认配置文件为message
转载
2024-05-10 11:45:56
21阅读
目录1. MQ介绍1.1 为什么要用MQ1.2 MQ的优点和缺点1.3 各种MQ产品的比较2. RocketMQ快速入门2.1.1 下载RocketMQ2.2.2 环境要求2.2 安装RocketMQ2.2.1 安装步骤2.2.2 目录介绍2.3 启动RocketMQ2.4 测试RocketMQ2.4.1 发送消息2.4.2 接收消息2.5 关闭RocketMQ3. RocketMQ集群搭建3.
消息过滤RocketMQ 支持表达式过滤 TAG:消息定义标签,根据消息属性tag 进行匹配。 SQL92:消息属性过滤上下文, 实现SQL 条件过滤表达式类过滤 消费者自定义消息过滤实现类并将其代码上传到FilterServer 上,消息消费者向FilterServer 拉取消息, FilterServer 将消息消费者的拉取命令转发到Broker ,然后对返回的消息执行消息过滤逻辑,最终将消息
如何实现顺序消息? 需要程序保证发送和消费的是同一个 Queuerocketmq默认发送的消息是进入多个消息队列,然后消费端多线程并发消费,所以默认情况,不是順序消费消息的;有時候,我们需要顺序消费一批消息,比如电商系统 订单创建、支付、完成操作,需要順序执行;RocketMQTemplate给我们提供了SendOrderly方法(有多個重载),来实现发送顺序消息;包括以下:syncSendOrd
转载
2024-03-17 14:05:25
884阅读
文章目录表达式过滤TAG使用原理SQL92使用原理类过滤使用原理 RocketMQ支持 表达式过滤与 类过滤两种模式 。 表达式过滤其中表达式模式分为 TAG和SQL92表达式两种。TAG顾名思义,TAG 模式就是简单地为消息定义标签,根据消息的标签进行匹配。使用1、在消息发送时,我们可以为每一条消息设置一个TAG标签,消息消费者订阅自己感兴趣的TAG, 一般使用的场景是,对于同一类的功能(如
转载
2024-02-28 13:26:40
521阅读
定义和用法setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值
目录一、问题思考
二、事务消息客户端发送流程
1.事务发送与普通启动差异
2.事务消息发送调用链
3.事务消息发送分析
4.事务消息发送结果分析
5.结束事务分析
三、事务消息服务端存储流程
1.事务消息存储调用链
2.事务半消息存储代码分析(一)
3.事务半消息存储代码分析(二)
四、事务消息服务端响应结束事务请求
1.处理未知类型请求
2.处理事务提交请求
3.处理事务回滚请求
五、事务消息服
转载
2024-09-09 00:40:59
112阅读
RocketMQ消费者订阅了tag,需要注意什么? 在RocketMQ中,一个消费组能同时订阅多个 tag,但一个消费组的不同消费者不能分开订阅不同的tag,即同一个消费组的订阅关系必须保持一样。例如:常见错误使用方式同一个项目中,一段消费代码订阅tagA,然后拷贝到这段代码再更改为tagB。 正确用法:public void subscribe(){
Defau
转载
2024-04-09 11:40:08
447阅读
RocketMq提供消息过滤的功能,用于同一topic下,区分不同业务场景的消息。Tag,即消息标签,用于对某个Topic下的消息进行分类。消息队列RocketMQ版的生产者在发送消息时,已经指定消息的Tag,消费者需根据已经指定的Tag来进行订阅。使用springboot-starter的方式发送tag消息,只需要如下形式即可,不需要单独指定参数:topic:tag示例代码: 控制器,方便测试,
转载
2024-06-04 11:24:13
1900阅读
1. 最佳实践之 Producer1. 一个应用尽可能用一个 Topic,消息子类型用 tags 来标识,tags 可以由应用自由设置。只有发送消息设置了 tags,消费方在订阅消息时,才可以利用 tags 在 broker 做消息过滤。message.setTags("TagA");2. 每个消息在业务层面的唯一标识码,要设置到 keys 字段,方便将来定位消息丢失问题。服务器会为每个消息创建索
转载
2024-06-05 10:33:15
140阅读
这里写目录标题一、下载RocketMq二、RocketMq相关配置2.1、配置broker.conf。2.1、相关参数介绍:2.2、配置nameserver启动空间大小三、配置jdk的环境变量四、启动RocketMq 一、下载RocketMq二、RocketMq相关配置2.1、配置broker.conf。打开mq下面的broker.conf。/Users/yemumu/mySoftware/ro
转载
2024-02-23 21:43:08
215阅读
消息队列 ~ RocketMQ ~ 从入门到入坑。 文章目录消息队列 ~ RocketMQ ~ 从入门到入坑。下载。使用。shutdown。测试发送消息。集群。集群模式。单 Master模式。多 Master 模式。多 Master 多 Slave 模式(异步)。多 Master 多 Slave 模式(同步)。双主双从集群搭建。集群特点。集群工作流程。配置文件。mqadmin。图形管理工具。Jav
生成者、消费者 生成者: 1 创建消息生产者producer,并制定生成者组名 2 指定Nameserver地址 3 启动producer 4 创建消息对象,指定主题Topic,Tag和消息体 5 发送消息 6 关闭生成者produce 消费者: 1 创建消息者Consumer,制定消费者组名 2 指定Nameserver地址 3 订阅主题Topic和Tag 4 设置回调函数,处理消息 5 启动消
转载
2024-03-26 11:29:43
279阅读
## 实现Spring Boot与RocketMQ的配置
### 简介
在本文中,我将向您介绍如何在Spring Boot项目中配置RocketMQ,并实现消息的发送和接收。RocketMQ是一个开源的分布式消息中间件,具有高可靠、高性能、高扩展性等特点,常用于消息队列、异步消息通知等应用场景。
### 配置流程
下表展示了配置RocketMQ的步骤:
| 步骤 | 操作 |
| --- |
原创
2024-04-23 18:28:46
169阅读
RocketMQ简介: Name Server:是一个几乎无状态节点,可集群部署,节点之间无任何信息同步 Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的Broker Name,不同的Broker Id来定义,BrokerId为0表示Master,非0表示Slave。Mas
转载
2024-03-28 10:01:20
922阅读
所属集群名字 附加:如果有多个master,那么每个master配置的名字应该一样,要不然识别不了对方,不知道是一个集群内部的 brokerClusterName=rocketmq-cluster 此处需手动更改broker名字,注意此处不同的配置文件填写的不一样 附加:按配置文件文件名来匹配 brokerName=broker-a0 表示Master, > 0 表示slave broker
转载
2024-05-28 10:18:21
333阅读
RocketMQ配置全解NAME SERVER配置启动BROKER SERVER配置ACL配置(`aclEnable=true`时配置)plain_acl.ymltools.yml启动RocketMQ Dashboard下载源码调整配置users.properties打包启动访问 基本覆盖常用配置,如有需要继续补充RocketMQ主要有NAME SERVER、BROKER SERVER,更详细参
转载
2024-03-26 13:45:02
1128阅读