用几个实验验证char、varchar和text的底层存储技术分享MySQL单行记录大小限制详解:Server层65535字节限制与InnoDB层8126字节限制的差异,包括varchar/text字段计算规则、变长编码处理、行溢出机制及定长字段的特殊情况分析。2024-4-7
优雅停机之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
SpringBoot是如何做到一个jar包就可以直接运行的技术分享本文深入解析SpringBoot fatJar的实现原理,详细分析jar包结构、自定义jar协议解析器和类加载器机制,揭示优雅型jar包如何通过JarLauncher启动,并探讨三种运行模式及jarMode系统变量的特殊处理方式。2023-10-23 spring-boot
spring-cloud-gateway跨域配置两三事技术分享文章介绍了Spring Cloud Gateway跨域问题的解决方案,包括预检请求处理、响应头重复问题、自定义GlobalFilter、跨域白名单配置等,并探讨了前端代理请求和OPTIONS请求的跨域处理机制。2023-10-11 spring-cloud-gateway 跨域