- 博客(205)
- 收藏
- 关注
原创 【RocketMQ 生产者和消费者】- 延时消息的使用
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-10-02 21:52:04
848
原创 【RocketMQ 生产者和消费者】- sendMessageBack 发送重试消息
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-10-02 21:51:33
902
原创 【RocketMQ 生产者和消费者】- ConsumeMessageOrderlyService 顺序消费消息
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-08-10 23:10:20
972
原创 【RocketMQ 生产者和消费者】- ConsumeMessageConcurrentlyService 并发消费消息
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-08-10 23:09:36
838
原创 【RocketMQ 生产者和消费者】- 消费者处理消息拉取结果
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-08-10 23:01:53
1036
原创 【RocketMQ 生产者和消费者】- broker 处理消息拉取请求
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-08-03 19:34:57
1055
原创 线段树学习笔记 - 摩尔投票问题
线段树学习笔记线段树学习笔记 - 练习题(1)线段树学习笔记 - 练习题(2)线段树学习笔记 - 练习题(3)线段树学习笔记 - 动态开点线段树线段树学习笔记 - 区间最值操作线段树学习笔记 - 扫描线问题左程云算法讲解116【扩展】摩尔投票大加强,线段树里捉海王。首先看下什么是摩尔投票问题,直接看百度,摩尔投票法(Moore’s Voting Algorithm)是一种用于在数组中寻找多数元素的高效算法。多数元素是指在数组中出现次数超过一半的元素。摩尔投票法通过消除不同元素之间的对抗来找到可能的多数元素。
2025-08-03 19:32:58
1125
原创 线段树学习笔记 - 扫描线问题
线段树学习笔记线段树学习笔记 - 练习题(1)线段树学习笔记 - 练习题(2)线段树学习笔记 - 练习题(3)线段树学习笔记 - 动态开点线段树线段树学习笔记 - 区间最值操作左程云算法讲解115【扩展】线段树专题6-线段树与扫描线结合的题目。
2025-08-03 19:31:10
655
原创 线段树学习笔记 - 区间最值操作
线段树系列文章:上一篇文章学习了这个视频的动态开点线段树,这篇文章来继续学习,学习视频:算法讲解114【扩展】线段树专题5-开点线段树、区间最值和历史最值,题目都是左神视频上的,思路也是学习的这个视频。假设现在有一道题目,需要支持下面几种操作:上面 2 和 3 就是范围最大值和范围累加和查询,这个可以用 max 数组和 sum 数组完成,但是第一种操作就比较麻烦了,比如原数组是 ,下标从 1 开始,然后现在要将 范围的下标更新为 ,更新之后的结果是 。为了解决这个问题,这里引入一个 sem 数组维护严格次
2025-08-03 19:30:43
992
原创 线段树学习笔记 - 动态开点线段树
线段树学习笔记。线段树学习笔记 - 练习题(1)。线段树学习笔记 - 练习题(2)。线段树学习笔记 - 练习题(3)。算法讲解114【扩展】线段树专题5-开点线段树、区间最值和历史最值,题目都是左神视频上的,思路也可以看这个视频。
2025-07-27 10:55:46
1050
原创 线段树学习笔记 - 练习题(3)
线段树学习笔记。线段树学习笔记 - 练习题(1)。线段树学习笔记 - 练习题(2)。算法讲解113【扩展】线段树专题4-线段树解决区间合并的问题,题目都是左神视频上的,思路也可以看这个视频。
2025-07-25 23:03:14
595
原创 线段树学习笔记 - 练习题(2)
线段树学习笔记。线段树学习笔记 - 练习题(1)。算法讲解112【扩展】线段树专题3-线段树维护更多类型的信息,题目都是左神视频上的,思路也可以看这个视频。
2025-07-24 23:21:04
1094
原创 线段树学习笔记 - 练习题(1)
线段树学习笔记。算法讲解111【扩展】线段树专题2-线段树的离散化、二分搜索、特别修改,题目都是左神视频上的,思路也可以看这个视频。
2025-07-23 22:48:43
743
原创 【RocketMQ 生产者和消费者】- broker 是如何处理消费者消息拉取的 Netty 请求的
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性。
2025-07-20 21:23:11
785
原创 【RocketMQ 生产者和消费者】- 消费者发起消息拉取请求 PullMessageService
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性前几篇文章我们探讨了消费者重平衡的源码,在这篇文章。
2025-07-20 21:22:49
1108
原创 【分布式 ID】详解百度 uid-generator(源码篇)
【分布式 ID】生成唯一 ID 的几种方式。【分布式 ID】一文详解美团 Leaf【分布式 ID】详解百度 uid-generator(基础篇)。
2025-07-20 21:21:40
916
原创 【分布式 ID】详解百度 uid-generator(基础篇)
【分布式 ID】生成唯一 ID 的几种方式。【分布式 ID】一文详解美团 Leaf。
2025-07-20 21:20:54
1657
原创 【分布式 ID】一文详解美团 Leaf
【分布式 ID】生成唯一 ID 的几种方式。前一篇文章我们介绍了分布式 ID 生成的几种方式,这篇文章就来看下美团开源项目 Leaf 是如何生成 ID 的。Leaf 这个名字是来自德国哲学家、数学家莱布尼茨的一句话:也就是“世界上没有两片相同的树叶”Leaf——美团点评分布式ID生成系统。
2025-06-29 10:31:57
1610
原创 【分布式 ID】生成唯一 ID 的几种方式
分布式 ID 是指在分布式系统中需要生成的全局唯一的标识符。比如在电商、物流等行业,每笔订单都需要一个唯一的订单 ID。通过这个 ID,商家可以跟踪订单的状态,包括下单、支付、发货、签收等环节;用户也可以随时查询自己订单的进度。在金融系统中,每笔交易都有一个唯一的交易 ID。这个 ID 可以用于记录交易的详细信息,如交易时间、交易金额、交易双方等,同时也方便对交易进行审计和对账。总之唯一 ID 在各种场景下用处都比较大,那么如何能够生成一个唯一 ID 呢,有下面几种方案。
2025-06-29 10:31:18
1441
原创 线段树学习笔记
树状数组学习笔记。在前面的文章我们学习了数组数组,也写了一篇学习笔记,树状数组一般就是用于范围增加单点查询,虽然范围增加范围查询也可以做,但是不如线段树方便。而线段树除了能支持范围增加、范围查询,可以支持在 O(logn) 时间内完成多种在线区间操作,例如区间求和、区间最大值、区间最小值、区间重置左程云算法讲解110【扩展】线段树专题1-线段树原理和代码详解。
2025-06-29 10:30:23
704
原创 【RocketMQ 生产者和消费者】- 消费者的订阅关系一致性
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响上面的文章我们讲解了消费者重平衡的源码以及消费者 ID 对负载均衡的影响,这篇文章我们来看下消费者的订阅关系。
2025-06-22 22:06:58
972
原创 【RocketMQ 生产者和消费者】- 消费者重平衡(3)- 消费者 ID 对负载均衡的影响
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略上两篇文章讲解了消费者重平衡的源码以及几种重平衡策略,这篇文章我们来看下消费者 ID 对重平衡的影响。
2025-06-22 22:06:23
911
原创 【RocketMQ 生产者和消费者】- 消费者重平衡(2)- 分配策略
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码【RocketMQ 生产者和消费者】- 消费者重平衡(1)上一篇讲解了消费者重平衡的入口和大致源码,还剩下一点 RocketMQ 的几个重平衡策略。
2025-06-17 22:40:47
1059
原创 【RocketMQ 生产者和消费者】- 消费者重平衡(1)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 消费者启动源码上一篇文章中我们探讨了消费者的启动,这里就来看下消费者的重平衡逻辑,所谓重平衡,就是消费者对订阅的 topic 下面的队列重分配,topic 下面有不同的 MessageQueue,这些队列有可能会存储到不同的 broker 上,消费者消费的时候会消费分配到的 MessageQueue 下面的消息,分配的过程就是重平衡。
2025-06-17 22:40:08
1235
原创 【RocketMQ 生产者和消费者】- 消费者启动源码
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息上面几篇文章我们探讨了生产者的启动和发送消息的源码,这篇文章开始我们就来看下消费者的启动源码,也开始消费者的源码分析。
2025-06-14 15:37:06
872
原创 树状数组学习笔记
首先就是树状数组解决了什么问题,对于前缀和我们就知道可以用来解决范围查询问题,而如果是差分就可以用来解决 k 次范围修改之后这个数组会变成什么样这类的问题。
2025-06-08 22:08:36
1149
原创 【差分】详解二维前缀和和差分问题
大家也可以注意下,这里我们算影响范围算前缀和的时候没有让 i,j 都 + 1,也就是没有像第 3 小节那个题目那样计算前缀和,因为 d 数组本身为了不越界需要 + 1 处理,所以为了方便计算,前缀和也没有 + 1,只是在原来的数组上进行前缀和,也就是定义 sum[i][j] 为以 i,j 为右下角的区域的前缀和。以 sum[2][2] 为例子,下面图中蓝色部分代表 sum[2][1],绿色部分代表 sum[1][2],红色部分代表 sum[1][1]。根据这个定义,现在给一下 sum 数组的结构。
2025-06-08 22:07:16
1143
原创 【RocketMQ 生产者和消费者】- broker 处理生产者发送的消息
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(1)【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(2)上面两篇文章讲述了生产者发送消息的整个流程,包括消息重试,消息重传,这篇文章就来看下 broker 是如何处理生产者的消息的。
2025-06-08 15:24:04
973
原创 【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(2)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(1)上一篇文章从生产者发送源码方法开始讲述了同步、异步、单向发送的流程,这篇文章来看下异步回调是如何处理的。
2025-06-01 13:00:20
699
原创 【RocketMQ 生产者和消费者】- 生产者发送同步、异步、单向消息源码分析(1)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息上面几篇文章我们介绍了生产的启动流程,这篇文章就来介绍下生产者发送消息的流程,首先就是最常见的同步消息了。
2025-06-01 12:59:39
848
原创 【RocketMQ 生产者和消费者】- 生产者发送故障延时策略
在看生产者源码之前,先来看下 RocketMQ 的发送故障延时策略,具体的容错策略均在MQFaultStrategy 这个类中定义。生产者发送消息的时候需要先查询出 topic 的路由信息,然后通过 selectOneMessageQueue 方法选择 messageQueueList 中的一个消息队列来发送消息。
2025-05-25 22:16:47
1143
原创 【RocketMQ 生产者和消费者】- 生产者启动源码 - MQClientInstance 定时任务(4)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 生产者启动源码-启动流程(1)【RocketMQ 生产者和消费者】- 生产者启动源码-创建 MQClientInstance(2)【RocketMQ 生产者和消费者】- 生产者启动源码-上报生产者和消费者心跳信息到 broker(3)上面几篇文章我们介绍了生产的启动流程,这篇文章就来看下生产者启动的时候在 MQClientInstance 里面通过。
2025-05-24 22:32:32
1037
1
原创 【RocketMQ 生产者和消费者】- 生产者启动源码-上报生产者和消费者心跳信息到 broker(3)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 生产者启动源码-启动流程(1)【RocketMQ 生产者和消费者】- 生产者启动源码-创建 MQClientInstance(2)上两篇文章中我们探讨了生产者的启动流程,这篇文章就来看下生产者启动之后如何发送心跳信息到 broker。
2025-05-22 21:30:53
454
原创 【RocketMQ 生产者和消费者】- 生产者启动源码-创建 MQClientInstance(2)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息【RocketMQ 生产者和消费者】- 生产者启动源码-启动流程(1)上一篇文章我们探讨了生产者启动流程的大纲,当然还遗留了一些方法没有深入,这篇文章就来讲一下 MQClientInstance。在生产者启动的时候会去创建一个 MQClientInstance,而这个方法是生产者和消费者都会去调用的。
2025-05-22 21:29:42
788
原创 【RocketMQ 生产者和消费者】- 生产者启动源码-启动流程(1)
【RocketMQ】- 源码系列目录【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息在文章 【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息 中介绍了 RocketMQ 的几种消息发送方式和消息的消费方法。这个架构图中 NameServer 的启动和 Broker 的启动源码在前几篇文章已经探讨过了,那么这篇文章开始就从生产者的启动开始,一步步深入生产者和消费者的源码。
2025-05-22 21:27:46
1227
原创 【RocketMQ Broker 相关源码】- NettyRemotingClient 和 NettyRemotingServer
【RocketMQ】- 源码系列目录【RocketMQ NameServer】- NameServer 启动源码。
2025-05-17 16:00:44
752
原创 【RocketMQ Broker 相关源码】- 清除不活跃的生产者、消费者、过滤服务器连接
【RocketMQ】- 源码系列目录【RocketMQ Broker 相关源码】- 清除不活跃的 broker上一篇文章我们探究了 NameServer 是如何清除不活跃的 broker,而这篇文章我们也来看下 broker 是如何清除不活跃的生产者、消费者、过滤服务器连接。
2025-05-17 15:59:33
1051
原创 【RocketMQ Broker 相关源码】- 清除不活跃的 broker
【RocketMQ】- 源码系列目录【RocketMQ Broker 相关源码】-注册 broker 信息到所有的 NameServer在上一篇文章中,我们详细阐述了 Broker 信息注册至 NameServer 的具体流程。在整个系统的运行过程中,Broker 与 NameServer 之间通过定时的心跳机制来维持连接状态,确保系统的稳定运行。具体来说,Broker 会按照预设的时间间隔,每 30 秒向 NameServer 发送一次心跳信息,以此表明自身处于正常运行状态。
2025-05-17 15:55:56
947
原创 【RocketMQ Broker 相关源码】-注册 broker 信息到所有的 NameServer
【RocketMQ】- 源码系列目录【RocketMQ Broker 相关源码】- broker 启动源码(1)【RocketMQ Broker 相关源码】- broker 启动源码(2)在前面 broker 启动时会判断如果没有开启 Dleger 高可用,就会将 broker 信息注册到所有 NameServer。
2025-05-05 15:36:43
1146
原创 【RocketMQ 高可用】- 从节点同步偏移量源码解析
【RocketMQ 高可用】- 主从同步的前置(自己实现的简单通信流程)【RocketMQ 高可用】- 主从同步(一主一从测试)【RocketMQ 高可用】- 详解主从同步刷盘请求处理服务 GroupTransferService【RocketMQ 高可用】- 主从同步核心源码 HAService 和 HAConnection(1)【RocketMQ 高可用】- 主从同步核心源码 HAService 和 HAConnection(2)
2025-05-05 15:35:19
958
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅