Flume也扛不住的千亿级数据,OPPO如何靠自研提升
3 月,跳不动了?>>> 一、背景 OPPO互联网业务每天产生海量的数据,如调用链跟踪系统ESA Trace,每日采样的请求数据超过千亿级别,我们需要对这些数据进行归类,聚合、过滤和存储,同时我们需要对采集到的数据进行多通道并行处理,比如并行进行关键指标告警和写入存储集群。 而数据采集系统的性能、通道隔离性、吞吐量等因素对于我们来说是一个挑战。在我们的应用场景中,开源Flume在可视化、监控、性能,以及通道隔离性等方面无法满足我们的需求。 ESA DataFlow是由OPPO互联网自研的一款高性能的数据流采集、聚合和传输框架,单节点的日均处理数据量超过百亿条。相较Flume在运维可视化、路由、并行处理能力等方面有较大的提升。 二、基本概念 ESA DataFlow是一款高性能数据流处理框架,它具有: 消息路由: 灵活的路由规则,把消息分发到不同的通道处理。 高性能: 单节点具备日处理100亿以上条数据能力。易扩展:内置常用Source、Sink,Channel开发者可灵活自定义扩展Source、Channel、Sink,也可自定义序列化方式。 监控运维: 内置管理控制台,能实时查看数据输入、缓冲以及消费速率等各项数据统计。 其内部结构如下: 1、DataEvent DataEvent是DataFlow端到端传输的基本单元,它由body和headers信息构成,由K