本文详细介绍了英国美容健康 SaaS 平台 Fresha 如何将基于 Postgres、Snowflake 和 Amazon MSK 的传统数据架构,升级为以 AutoMQ 和 StarRocks 为核心的现代化实时分析数据栈,并分享了选型考量、迁移实战与生产成果。
📝 详细摘要
文章以 Fresha 的实时数据管道升级为案例,深入剖析了其旧架构在消息层和分析层面临的困境。消息层方面,传统 Kafka 在云环境下的存算耦合模型导致存储成本高、弹性差、运维复杂;分析层方面,Postgres 难以承载高并发分析查询,而 Snowflake 又无法满足分钟级实时性要求。为解决这些问题,Fresha 选择 AutoMQ 作为消息层替代方案,利用其 Diskless 架构和 WAL 设计,在降低成本的同时兼顾了高吞吐和低延迟两种工作负载。分析层则选用 StarRocks,凭借其出色的复杂 Join 查询能力和 MySQL 协议兼容性,支撑起商家首页的实时分析。文章详细描述了零停机迁移近 1000 个 Topic 的实战过程,以及 StarRocks 上线后首页查询延迟从 15-20 秒降至 200 毫秒的显著效果。最终,文章总结了这一现代化数据栈组合拳的核心价值:消息层与分析层需同步现代化,以构建真正面向云环境的、可持续演进的数据基础设施。
💡 主要观点
- 传统 Kafka 的存算耦合架构在云环境中存在天然错位,导致高成本、低弹性和运维复杂。 EBS 三副本、跨 AZ 流量费用、粗粒度扩容和分区重平衡等问题,在云上被放大,尤其不适合流量尖峰型业务。
💬 文章金句
- Kafka 诞生于数据中心时代,其存储模型也带有明显的数据中心架构特征...但当 Kafka 被搬到云上,存算耦合的模型开始带来一系列问题。
- 消息层的困境并不在于 MSK 本身'不好用',而在于传统 Kafka 的架构模型与云环境之间存在天然错位。
- We deployed AutoMQ on our EC2s. I mirrored all the traffic from our CDC warehouse cluster and I watched the cost in S3 and it was like 17-20 times less than our AWS cost.
- Fresha 在一周内完成了近 1000 个 Topic 的迁移,全程零停机,Flink 作业和 Connector 任务也几乎无感知。
- 消息层与分析层需要同步现代化。单独升级其中一层,往往只是把瓶颈从一个地方转移到另一个地方。
📊 文章信息
AI 初评:87
来源:InfoQ 中文
作者:InfoQ 中文
分类:软件编程
语言:中文
阅读时间:29 分钟
字数:7030
标签: 实时数据栈, AutoMQ, StarRocks, Kafka, 云原生