技术分享

MySQL 溢出字段常规更新(full update)实验

本篇文章主要探讨了MySQL中大字段的全量更新(full update)实验,揭示了在实验过程中发现的一些有趣的现象和细节。文章首先介绍了一些前置知识点,包括MySQL 8.0对于非压缩溢出页的结构改造,以及全量更新的流程。然后通过实验,详细地展示了更新过程中溢出页的变化,以及更新次数对于溢出页数量的影响。文章还深入分析了溢出页首页的结构,包括索引列表和空闲节点等部分。在实验过程中,文章提出了一些有趣的问题,如在优化表后索引页数量的增加等,这些问题为我们深入理解MySQL的内部机制提供了思考的方向。总的来说,这篇文章通过实验和详细的分析,为我们理解MySQL中大字段的全量更新提供了宝贵的实践视角和深入的理论知识。

优雅停机之Dubbo

本文深入分析Dubbo 2.6.5版本的优雅停机实现,探讨其停机流程中的问题及解决方案。通过源码和日志分析,揭示DubboShutdownHook与SpringShutdownHook并行执行的风险,并梳理了Dubbo在后续版本中对优雅停机的持续优化过程,包括多个关键PR和issue的修复历程。

优雅停机(上)

文章介绍了优雅停机的概念及实现方式,重点分析SpringBoot内嵌WebServer的优雅停机机制,包括ShutdownHook原理、Spring容器停机流程、SmartLifecycle实现,以及2.3版本前后的优雅停机方案对比。

Sentinel之限流算法

本文深入解析Sentinel限流框架的四种限流算法实现:DefaultController直接拒绝、RateLimiterController匀速器、WarmUpController预热及WarmUpLimiterController,重点剖析了预热算法的设计原理与实现细节,并指出其与Guava SmoothWarmingUp的区别,最后提出对WarmUpController设计原理的疑问。

限流算法及常见实现

本文总结了常见限流算法(固定窗口、滑动日志、滑动窗口、漏桶、令牌桶)及其实现方案,分析了QPS和并发数两种限流维度,详细比较了各算法的优缺点,并提供了Redis、Sentinel等典型实现方式,最后探讨了限流处理策略和长窗口风险防范。

Guava RateLimiter

深入解析Guava RateLimiter源码实现,包括令牌桶算法原理、两种限流策略(平滑爆发SmoothBursty和预热SmoothWarmingUp)的核心设计思想,以及如何处理闲置和大流量场景。通过代码示例展示其工作流程和实际应用中需要注意的问题。

如何解析离线binlog文件

本文探讨了离线binlog文件解析的多种方法,对比了阿里云DMS、mysqlbinlog、binlog2sql等工具的优缺点,重点介绍了自研工具canal2sql的设计目标与核心改造点,支持离线解析、列还原、回滚SQL生成等功能,为开发人员提供了全面的数据变更追踪解决方案。
黑微狗
黑微狗
一只普通的干饭汪🍚
Latest posts
Automa使用记录
2025-4-16
Notion-next SEO优化
2025-4-11
RocketMQ 4.6.0 Message Trace 功能异常排查
2025-4-8
browser-use 项目核心原理
2025-3-28
关于怎么搭建一个这样的blog
2025-3-28
关于怎么给blog搞一个自定义的域名
2025-3-28