rocketMq
文章平均质量分 88
氵奄不死的鱼
日拱一卒,功不唐捐
展开
-
rabbitMq确认机制之ConfirmType
1. none(默认):关闭发布确认模式。2. correlated:消息从生产者发送到交换机后触发回调方法。3. simple:会触发回调方法,相当于单个确认(发一条确认一条)。在发布消息成功后使用原创 2023-11-25 16:18:43 · 1610 阅读 · 1 评论 -
RabbitMq Consumer thread error, thread abort.异常导致服务关闭问题
在使用rabbitMq消费者使用simple模式进行监听时,服务突然自动关闭,事前没有任何的cpu或者内存的报警。查看关闭服务前的日志发现OOM异常但是一个异常为什么会导致服务关闭呢?开始看到OOM,我就想着启动参数上加了当发生OOM时生成堆的dump文件,然而查看文件目录,发现并没有看到生成的堆dump文件,这就十分奇怪。原创 2023-08-12 17:42:08 · 2344 阅读 · 2 评论 -
RabbitMq监听器simple和direct
首先明确,这里的consumer不是一台消费者机器,而是rabbitMq的最小消费单位,一台机器可以开启多个消费者,一个消费者总是对应一个channel。原创 2023-07-07 22:57:19 · 3473 阅读 · 1 评论 -
RabbitMq确认机制
confirm机制主要包含的三个属性分别是,mandatory、publisher-confirms、publisher-returnrabbitmq客户端发送消息首先发送的交换器exchange,然后通过路由键routingKey和bindingKey比较判定需要将消息发送到那个队列queue上;在这个过程有两个地方消息可能丢失,第一消息发送到交换器exchange的过程,第二消息从交换器exchange发送到队列queue的过程;原创 2023-05-28 16:01:59 · 1230 阅读 · 0 评论 -
RabbitTemplate的创建与配置
RabbitTemplate是我们在与SpringAMQP整合的时候进行发送消息的关键类该类提供了丰富的发送消息的方法,包括可靠性消息投递、回调监听消息接口ConfirmCallback、返回值确认接口ReturnCallback等等同样我们需要注入到Spring容器中,然后直接使用。在与spring整合时需要实例化,但是在与Springboot整合时,只需要添加配置文件即可首先将其注入到bean里面:如果自己不注入。原创 2023-04-05 17:26:41 · 3960 阅读 · 0 评论 -
RocketMq两种削峰方式
并发流控:就是根据业务流控速率要求,来调整topic 消费队列数量(read queue),消费端部署节点,消费端拉去间隔时间,消费端消费线程数量等,来达到要求的速率内延时消费流控:就是在消费端延时消费消息(sleep),具体延时多少要根据业务要求速率,和消费端线程数量,和节点部署数量来控制。原创 2023-01-13 09:56:32 · 1944 阅读 · 0 评论 -
rocketMq-消费者篇
消费者启动流程DefaultMQPushConsumer从继承结构来看可以对topic操作,查询消息,订阅指定topic实现push模式 public DefaultMQPushConsumer(final String consumerGroup, RPCHook rpcHook, AllocateMessageQueueStrategy allocateMessageQueueStrategy) { this.consumerGroup = consume原创 2022-02-23 19:23:20 · 1791 阅读 · 0 评论 -
rocketMq-broker篇之接收不同类型消息
Producer 发送事务消息,Broker将其转成Half消息,备份topic和queueid ,Producer 执行本地事务,根据本地事务执行状态,发送提交或回滚请求,Broker接收到提交请求,先将Half消息恢复成原消息的topic和queueid ,放到可以供消费者消费的队列,并将其标记为删除,如果是回滚则直接标记为删除,原创 2022-02-21 17:23:05 · 701 阅读 · 0 评论 -
rocketMq-broker篇之消息存储IO
RocketMQ文件存储的基础:MappedFile和MappedFileQueueRocketMQ中的MappedFile类对应一个文件的mmap映射,是RocketMQ实现高效存储的基础。本文先介绍零拷贝的相关背景,再介绍RocketMQ中mmap的应用,为后面介绍MessageStore做过渡。1. 零拷贝零拷贝(zero copy)指的是当拷贝发生时,CPU并不参与实际的拷贝过程。CPU可以切换到其他线程,数据的拷贝过程异步进行,异步过程通常要由硬件DMA实现。常用的零拷贝有 mmap 和 s原创 2022-02-17 14:03:04 · 701 阅读 · 0 评论 -
rocketMq-nameServer篇
启动流程/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to Y原创 2022-02-13 12:28:51 · 664 阅读 · 0 评论 -
rocketMq-生产者篇
启动流程 DefaultMQProducer producer = new DefaultMQProducer("mq-group");创建生产者实例先看DefaultMQProducer的类结构MQAdmin/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed原创 2022-02-11 11:59:05 · 2081 阅读 · 0 评论