tomcat-jdbc连接池对于socketTimeout超时断连的处理BUG问题排查文章分析了MySQL连接超时后连接池未校验导致的问题,详细描述了事务内外的4个报错点,并提出了通过tomcat-jdbc异步检查机制优化连接池管理的解决方案,避免关闭连接被重复使用。2024-3-14 tomcat-jdbc
优雅停机之Spring Cloud Gateway技术分享本文探讨Spring Cloud Gateway优雅停机问题,分析upstream服务停机时因注册中心下线延迟和本地缓存导致的调用异常,提出通过监听ContextClosedEvent事件优先下线服务,并处理服务列表缓存更新的解决方案,同时指出该方案在注册中心推送延迟时的局限性。2024-2-19 spring-cloud-gateway 优雅停机
Docker端口映射的实现机制技术分享本文深入探讨了Docker端口映射的实现机制,通过分析宿主机和容器内的网络连接情况,揭示了docker-proxy和iptables DNAT两种转发方式的工作原理,并验证了不同场景下的网络通信路径,最后总结了端口映射对性能的影响。2024-2-18 docker iptables
优雅停机之Dubbo技术分享本文深入分析Dubbo 2.6.5版本的优雅停机实现,探讨其停机流程中的问题及解决方案。通过源码和日志分析,揭示DubboShutdownHook与SpringShutdownHook并行执行的风险,并梳理了Dubbo在后续版本中对优雅停机的持续优化过程,包括多个关键PR和issue的修复历程。2024-1-22 dubbo 优雅停机
优雅停机(上)技术分享文章介绍了优雅停机的概念及实现方式,重点分析SpringBoot内嵌WebServer的优雅停机机制,包括ShutdownHook原理、Spring容器停机流程、SmartLifecycle实现,以及2.3版本前后的优雅停机方案对比。2024-1-9 优雅停机
Sentinel之计数统计及限流逻辑技术分享本文深入分析Sentinel的计数统计及限流核心逻辑,包括滑动窗口实现、统计节点维护、限流策略分类等关键机制,并探讨了时间回拨处理等细节问题。2024-1-4 sentinel 限流
Sentinel之限流算法技术分享本文深入解析Sentinel限流框架的四种限流算法实现:DefaultController直接拒绝、RateLimiterController匀速器、WarmUpController预热及WarmUpLimiterController,重点剖析了预热算法的设计原理与实现细节,并指出其与Guava SmoothWarmingUp的区别,最后提出对WarmUpController设计原理的疑问。2024-1-3 限流
限流算法及常见实现技术分享本文总结了常见限流算法(固定窗口、滑动日志、滑动窗口、漏桶、令牌桶)及其实现方案,分析了QPS和并发数两种限流维度,详细比较了各算法的优缺点,并提供了Redis、Sentinel等典型实现方式,最后探讨了限流处理策略和长窗口风险防范。2023-12-27 限流
Guava RateLimiter技术分享深入解析Guava RateLimiter源码实现,包括令牌桶算法原理、两种限流策略(平滑爆发SmoothBursty和预热SmoothWarmingUp)的核心设计思想,以及如何处理闲置和大流量场景。通过代码示例展示其工作流程和实际应用中需要注意的问题。2023-12-22 guava 限流
如何解析离线binlog文件技术分享本文探讨了离线binlog文件解析的多种方法,对比了阿里云DMS、mysqlbinlog、binlog2sql等工具的优缺点,重点介绍了自研工具canal2sql的设计目标与核心改造点,支持离线解析、列还原、回滚SQL生成等功能,为开发人员提供了全面的数据变更追踪解决方案。2023-12-14