作业帮大数据采集体系建设与迁移实践总结
一、背景
作业帮作为一家在线教育公司,其大数据中台架构支撑着经营分析、业务分析、管理者驾驶舱、成本管理审计等核心业务场景。随着业务发展,现有数据采集体系面临新数据源扩展难、组件虚机部署运维成本高、入仓需求定制化复杂、MR任务资源隔离差等问题。
二、作业帮数据采集体系的架构升级
架构演进阶段
大数据采集架构经历了三个阶段:传统采集、采集2.0和采集3.0。采集2.0采用Canal+Canal-Admin方案,但存在新数据源扩展难、虚机部署运维成本高、入仓需求定制化复杂、MR任务资源隔离差等问题。
架构升级目标
采集3.0架构升级目标为:降低资源颗粒度、弹性扩缩,支撑低成本数据安全工作台、实时/小时级数据在线系统、T+1数据深度洞察、T+N数据可视化、实时OLAP等需求,同时实现数据脱敏和资源隔离。
升级思路
从采集链路视角,采集3.0采用SAAS化产品思路,实现采集链路解耦和功能模块化。
三、作业帮数据采集体系的迁移实践
数据库采集:从Canal到Flink-CDC
迁移背景
作业帮使用Canal采集MySQL binlog,但面临仅支持MySQL、不支持全量CDC、虚机部署资源利用率低等问题。调研选型后,选择Flink-CDC作为替代方案。
迁移方案
- Flink-CDC特性:支持多数据源、增量/全量同步、DDL捕获、高并发等。
- 迁移挑战:确保Canal和Flink-CDC输出一致、无缝切换、数据不丢失。
- 迁移设计:采用轻量化全量同步+增量模式,动态加表和DDL同步通过自研或社区方案解决。
- 性能对比:Flink-CDC性能优于Canal(峰值QPS提升32%)。
- 迁移收益:资源核数消耗减少67%。
日志采集:从虚拟机到容器化
迁移背景
作业帮日志采集规模达百亿条/天,峰值CPS数百+,虚拟机部署面临流量网关上云难、done标记需求支持不足、运维成本高等问题。
迁移方案
- 流量网关上云:采用K8S动态扩缩POD,实现按时间段弹性伸缩。
- done标记实现:基于K8S事件和回调机制实现日志处理完成标记。
- 迁移收益:资源核数消耗减少54%,运维人力减少。
四、未来规划
- 接入更多新数据源,降低接入成本。
- CDC轻量化、整库同步等特性优雅落地。
- 可观测性增强,实现入仓全链路感知管控。