标签:Kafka Golang 定时任务 事件驱动 架构设计 Go Kafka 库:github.com/segmentio/kafka-go为什么要替换定时任务?定时任务在小规模系统中运行良好,但随着业务增长,问题逐渐暴露:问题描述时间耦合必须等到固定时间点才触发,实时性差重复执行多实例部署需要额外分布式锁,稍有不慎就重复执行全量扫描通常需要扫全表找待处理数据,数据量大时拖垮数据库失败难...
背景我们的系统长期以来采用 MySQL(InnoDB) 作为 OLTP 主库,TiDB 作为分布式扩展层,整体承载了核心业务的读写和部分分析型查询。然而,近期的外部变化让我们不得不重新审视这套技术选型:云运营商开始停止维护 MySQL 8.4 以下版本,意味着旧版本将失去安全补丁和官方支持;MySQL 8.4 引入了大量不向前兼容的变更,升级成本极高,部分语法和行为与旧版本存在显著差异;Ti...
一、Apache Doris 是什么?Apache Doris(原名 Palo,由百度开源)是一款现代化的 MPP(大规模并行处理)分析型数据库,专为实时数据分析场景设计。它基于 Google Mesa 论文的思想演进而来,是目前国内使用最广泛的 OLAP(联机分析处理)数据库之一。核心特性高性能 OLAP:基于列式存储 + 向量化执行引擎,聚合查询极速实时数据写入:支持秒级数据摄入,写入即...
在 Redis 运维过程中,你是否遇到过这样的困惑:明明已经删除了大量数据,used_memory 也确实下降了,但服务器的实际内存占用却几乎没有变化?这就是 Redis 内存碎片问题,也是生产环境中最常见、最容易被忽视的性能隐患之一。本文将从原理到实战,全面解析 Redis 内存碎片的成因、诊断方法和解决方案。一、什么是内存碎片?1.1 内存分配原理Redis 并不直接使用操作系统的 ma...
在 MySQL 中,索引是否有效,不仅取决于是否存在索引,还要看这个索引是否具有高区分度(Cardinality),也就是它能否快速筛选出目标数据。本文将介绍什么是索引区分度、如何查看与分析它,以及在实际工作中如何应用这一概念来优化索引设计。📌 什么是索引区分度?索引区分度是指:索引列中不重复的值的数量 与 表中总记录数 的比例。✅ 区分度高:唯一性强查询效率高MySQL 更倾向于使用该索引...