高并发场景下的热点 Key 问题:从发现到解决
在高并发系统中,你是否遇到过这样的诡异现象:Redis 集群的某个节点 CPU 突然飙高,其他节点却闲庭信步?这极有可能是 热 Key(Hot Key) 在作祟。当某个 Key 的访问量远远超过其他 Key 时,它会成为整个缓存系统的瓶颈。…
收拢架构拆解、服务治理、DDD、接口设计与系统边界判断,作为长期架构专栏。
适合关注后端架构、系统演进和工程判断方法的读者。
在高并发系统中,你是否遇到过这样的诡异现象:Redis 集群的某个节点 CPU 突然飙高,其他节点却闲庭信步?这极有可能是 热 Key(Hot Key) 在作祟。当某个 Key 的访问量远远超过其他 Key 时,它会成为整个缓存系统的瓶颈。…
线上有一张千万级数据量的大表,需要新增一个字段,你该怎么办?直接使用ALTER TABLE可能引发长时间锁表,导致生产事故。在十三Tech的数据库运维实践中,大表在线变更是一个高频且高风险的操作。本文将深入分析各种方案的优劣,重点讲解pt-…
在微服务架构中,"看不见"的系统是最危险的系统。没有监控,你就无法知道服务当前的健康状况、性能趋势,更无法在故障发生前收到预警。Prometheus 作为云原生领域最受欢迎的时序监控系统,已经成为我们构建可观测性体系的首选工具。在十三Tec…
在单体应用时代,排查性能问题只需查看一台服务器的日志。但在微服务架构中,一个用户请求可能流经十几个甚至几十个服务节点,如何追踪请求的完整路径、定位性能瓶颈?在十三Tech 的分布式系统中,链路追踪是我们排查跨服务慢请求的标配工具。本文将从…
无论是移动App还是Web网站,系统中都存在大量静态资源请求:图片、视频、JS、CSS等。这些读请求量大、对速度要求高,还会占用大量带宽,拖慢动态请求。静态资源加速的核心思路就是"就近访问",而CDN(内容分发网络)正是实现这一目标的关键技…
数据库迁移是后端开发中高风险、高复杂度的操作之一。如何在不停服的情况下完成数据迁移?如何保证新旧库的数据一致性?如何在出现问题时快速回滚?这些都是十三Tech在架构演进中反复面对的挑战。本文将系统梳理MySQL平滑迁移的两种核心方案——双写…
在微服务架构的演进过程中,服务治理逐渐成为最复杂也最棘手的部分。服务注册发现、负载均衡、熔断降级、链路追踪、流量控制——这些能力如果每个服务都要重复实现,不仅开发成本高昂,而且在多语言环境下几乎不可能统一。在十三Tech 的架构演进中,Se…
在 Go 并发编程中,我们常被教导"Goroutine 很便宜,随便用"。但当你面对需要并发执行成千上万个任务的场景时,是否真的可以直接 go func() 一把梭?在十三Tech 的性能调优实践中,我们深刻体会到:无节制地创建 Gorou…
在微服务架构中,RPC 框架是服务间通信的命脉。一个优秀的 RPC 框架不仅要性能出色,更要内置完善的服务治理能力。go-zero 的 zRPC 正是这样一个可直接用于生产的框架——它在 gRPC 之上封装了熔断、降载、监控、负载均衡等高级…
在构建 go-zero 微服务集群时,服务注册与发现是核心基础设施之一。go-zero 默认使用 etcd 作为注册中心,但在许多企业级环境中,Consul 因其完善的服务网格生态和友好的 UI 而被广泛采用。在十三Tech 的实际项目中,…
当你执行一条简单的SELECT语句时,MySQL内部究竟发生了多少事情?从TCP握手到查询缓存,从语法解析到优化器选路,再到存储引擎的数据页读取——这是一条复杂而精密的全链路。在十三Tech的数据库深度系列中,本文将带你完整拆解MySQL的…
在Linux系统中,进程之间是相互隔离的,但业务场景往往要求它们能够交换数据、协同工作。如何选择合适的进程间通信方式?这是十三Tech在系统设计中经常面对的问题。本文将系统梳理Linux提供的六种经典IPC机制——从管道到Socket,逐一…
在日常开发中,我们编写的每一行代码最终都要通过操作系统内核与硬件交互。但你真的了解内核在背后做了什么吗?本文是十三Tech操作系统深度系列的一篇,将带你揭开Linux内核的神秘面纱——从内核作为应用程序与硬件桥梁的核心定位,到系统调用的完整…
在高并发场景下,你是否遇到过看似无解的性能瓶颈?很多时候,问题的根源藏在CPU缓存的协作机制中。作为十三Tech操作系统深度系列的重要一篇,本文将带你深入CPU缓存的世界,从L1/L2/L3三级缓存的层级架构,到写直达与写回的差异,再到ME…
主从复制解决了数据冗余和读扩展的问题,但当主节点故障时,谁来自动完成故障转移?Redis Sentinel正是为此而生。在十三Tech的Redis高可用实践中,哨兵机制是保障服务连续性的关键组件。本文将深入剖析哨兵如何通过监控、选主、通知三…
在生产环境中,单点Redis实例往往难以满足高可用和读扩展的需求。主从复制作为Redis高可用架构的基石,其工作机制值得每位开发者深入理解。本文是十三Tech Redis深度系列的一篇,将带你完整梳理主从复制的三种模式——全量复制、命令传播…
当流量洪峰突然袭来时,你的服务能否稳如泰山?在十三Tech 的后端架构中,限流是保障服务可用性的第一道防线。它确保系统在自身处理能力范围内运行,避免因资源耗尽而导致级联故障。本文将深入剖析四种最常用的限流算法——令牌桶、漏桶、计数器和滑动窗…