09 2023 档案

摘要:概述 事务消息共有三种状态,提交状态、回滚状态、中间状态: TransactionStatus.CommitTransaction: 提交事务,它允许消费者消费此消息。 TransactionStatus.RollbackTransaction: 回滚事务,它代表该消息将被删除,不允许被消费。 Tr 阅读全文
posted @ 2023-09-24 22:48 自学Java笔记本 阅读(315) 评论(0) 推荐(0) 编辑
摘要:过滤消息概述 在大多数情况下,TAG是一个简单而有用的设计,其可以来选择您想要的消息。例如: // 定义一个group1的消费者组 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group1"); // 订阅 TOPIC 主题 阅读全文
posted @ 2023-09-24 14:21 自学Java笔记本 阅读(201) 评论(0) 推荐(0) 编辑
摘要:概述 批量发送消息能显著提高传递小消息的性能。限制是这些批量消息应该有相同的topic,相同的waitStoreMsgOK,而且不能是延时消息。此外,这一批消息的总大小不应超过4MB 发送批量消息 如果您每次只发送不超过4MB的消息,则很容易使用批处理,样例如下: String topic = "B 阅读全文
posted @ 2023-09-24 13:19 自学Java笔记本 阅读(175) 评论(0) 推荐(0) 编辑
摘要:延迟消息 比如电商里,提交了一个订单就可以发送一个延时消息,1h后去检查这个订单的状态,如果还是未付款就取消订单释放库存。 使用限制 对比于rabbitmq中的延迟消息来说,rockermq并不支持任意时间的延迟,需要设置几个固定的延时等级,从1s到2h分别对应着等级1到18级 // org/apa 阅读全文
posted @ 2023-09-23 21:58 自学Java笔记本 阅读(218) 评论(0) 推荐(0) 编辑
摘要:顺序消息 消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。 顺序消费的原理解析,在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息 阅读全文
posted @ 2023-09-23 17:32 自学Java笔记本 阅读(141) 评论(0) 推荐(0) 编辑
摘要:官网教程:https://rocketmq.apache.org/zh/docs/quickStart/01quickstart 基于双主双从异步方式开启的前提下,在maven项目中引入下列依赖 <dependency> <groupId>org.apache.rocketmq</groupId> 阅读全文
posted @ 2023-09-23 17:31 自学Java笔记本 阅读(130) 评论(0) 推荐(0) 编辑
摘要:总体架构 集群工作流程 启动NameServer,NameServer起来后监听端口,等待Broker、Producer、Consumer连上来,相当于一个路由控制中心。 Broker启动,跟所有的NameServer保持长连接,定时发送心跳包。心跳包中包含当前Broker信息(IP+端口等)以及存 阅读全文
posted @ 2023-09-23 02:02 自学Java笔记本 阅读(108) 评论(0) 推荐(0) 编辑
摘要:官网:https://help.aliyun.com/document_detail/434034.html?spm=a2c4g.2525371.4.2.2c301647IJOMdG&scm=20140722.H_434034._.ID_434034-OR_rec-V_1 请求参数 名称 类型 是否 阅读全文
posted @ 2023-09-12 16:03 自学Java笔记本 阅读(241) 评论(0) 推荐(0) 编辑
摘要:MinIO简介 MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来 阅读全文
posted @ 2023-09-10 14:34 自学Java笔记本 阅读(107) 评论(0) 推荐(0) 编辑
摘要:(1)简介 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍! gitee地址:https://gitee.com/xiaoym/knife4j 官方文 阅读全文
posted @ 2023-09-09 16:06 自学Java笔记本 阅读(260) 评论(0) 推荐(0) 编辑
摘要:## 项目整体结构 ![image](https://img2023.cnblogs.com/blog/2426763/202309/2426763-20230907084642566-976532203.png) 本文涵盖了关于RabbitMQ很多方面的知识点, 如: - 消息发送确认机制 - 消 阅读全文
posted @ 2023-09-07 09:07 自学Java笔记本 阅读(52) 评论(0) 推荐(0) 编辑
摘要:## 前言 ``` // 处理成功 false 表示不批量处理,批量处理容易丢失信息,消息会被rabbitmq broker 删除。 channel.basicAck(envelope.getDeliveryTag(), false); // 处理失败 重新入队 channel.basicNack( 阅读全文
posted @ 2023-09-05 11:56 自学Java笔记本 阅读(117) 评论(0) 推荐(0) 编辑
摘要:## 前言 在之前的发布确认中,生产者发送消息到mq中,消费者在从mq中取出消息满足持久化的. 发布确认是一个保证RabbitMQ 可靠性的一个机制 保证生产者将信息成功的发送到 RabbitMQ的 server端了,那么broker就会回一个确认,如果没有收到或者收到拒绝信息,那么说明可能网络不好 阅读全文
posted @ 2023-09-04 11:30 自学Java笔记本 阅读(29) 评论(0) 推荐(0) 编辑
摘要:## 概念 所谓“延迟消息”是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费 ## 使用场景 1、订单在十分钟之内未支付则自动取消 2、预定会议后,需要在预定时间点前十分钟通知各个与会人员参加会议。 3、淘宝七天自动确认收货,自动评价功能等 ## 阅读全文
posted @ 2023-09-03 13:49 自学Java笔记本 阅读(49) 评论(0) 推荐(0) 编辑
摘要:## 死信的概念 死信队列(Dead Letter Queue)是指当消息无法被消费者正常消费时,将这些无法消费的消息发送到专门的死信队列中,以便进行进一步的处理。这种处理方式通常被称为“死信处理”。 应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息 阅读全文
posted @ 2023-09-02 20:19 自学Java笔记本 阅读(129) 评论(0) 推荐(0) 编辑
摘要:## 概念 RabbitMQ 消息传递模型的核心思想是: **生产者生产的消息从不会直接发送到队列**。实际上,通常生产 者甚至都不知道这些消息传递传递到了哪些队列中。 相反,**生产者只能将消息发送到交换机(exchange)**,交换机工作的内容非常简单,一方面它接收来 自生产者的消息,另一方面 阅读全文
posted @ 2023-09-02 15:32 自学Java笔记本 阅读(69) 评论(0) 推荐(0) 编辑
摘要:## 概念 消息是可以持久化保存的,持久的目的是为了处理任务丢失情况的,采用持久化可以保证消息存储,且消息不被丢失。 默认情况下 RabbitMQ 退出或由于某种原因崩溃时,它忽视队列 和消息,除非告知它不要这样做。确保消息不会丢失需要做两件事: **我们需要将队列和消息都标 记为持久化。** ## 阅读全文
posted @ 2023-09-01 23:08 自学Java笔记本 阅读(344) 评论(0) 推荐(0) 编辑
摘要:## 前言 对于mq来说,默认采用的是轮询的消息发送模式,例如一个生产者对接多个消费者,那么发送消息时,消费者1接收一个消息后就轮到了消费者2接收,依次类推大致的算法就是取模的方式。 但是在某种场景下这种策略并不是 很好,比方说有两个消费者在处理任务,其中有个消费者 1 处理任务的速度非常快,而另外 阅读全文
posted @ 2023-09-01 20:05 自学Java笔记本 阅读(52) 评论(0) 推荐(0) 编辑
摘要:# MQ中的消息应答 ## 前言 在消息队列当中,生产者发送消息给消费者,其中生产者通过中间件也就是rabbitmq将消息存储到此处,由消费者从mq中获取消息,并处理之后的逻辑,由于mq默认是采用自动应答机制,消费者在获取消息后就会通知mq,mq此时就会将消息内容删除,但是此时处理业务逻辑时发生了某 阅读全文
posted @ 2023-09-01 13:56 自学Java笔记本 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示