AI智能总结
vivo互联网 大数据架构师/ 易龙 目录 •vivo数据集成平台架构及功能•vivo数据集成稳定性保障实践•vivo数据集成链路数据质量保障实践•vivo数据集成可观测实践 vivo数据集成平台架构及功能 产品能力地图 Bees,是vivo的一站式数据集成平台,它支持将多场景下多样化、分散的数据源,统一汇聚到大数据存储,是数据流入大数据体系的一座桥梁。 分层架构图 核心组件架构图 Bees监控模块监控、指标展示与告警Bees-Manager工单接入管理任务管理采集配置管理中心用户平台服务【极重要】Bees-SDK数据接入 SDK 工具包Bees-Agent源端日志接入组件部署在业务机器影响CPU、内存、文件句柄、IOBees-Bus数据传输管道服务【极重要】Bees-X:实时数据同步服务支持binlog日志采集mongdb oplog实时采集支持其他异构数据源数据同步 核心功能介绍 实时日志接入 核心问题及挑战 痛点问题 核心挑战 核心问题维度 被动接收告警,问题定位恢复慢散点式救火,运维成本高数据产出时效性波动大告警多而杂,处理成本高 如何从根本上长效的保障稳定性如何从全链路视角保障数据时效性如何有效准确的告警并快速恢复 链路稳定性链路数据质量链路可观测性 vivo数据集成稳定性保障实践 稳定性保障整体方案 MTBF:(Mean Time Between Failures),平均故障间隔时间MTTF:(Mean Time To Failure),平均无故障时间MTTR:(Mean Time To Repair),平均修复时间 架构组件:核心服务&存储 多活高可用 核心服务多活高可用服务拆分多节点部署跨机房容灾 存储多活高可用跨机房容灾Proxy,无中心集群,支持高可用Agent,基于Raft选主,支持高可用节点均支持动态扩缩容Proxy配置基于Zookeeper进行同步,保障一致性 架构组件:核心组件支持健康检查 链路核心组件心跳上报异常及时发现,追数补数 架构组件:物理标签隔离机制 标签统一通过bees-manger管理不同业务任务分配不同标签按标签和bees-bus建立连接bees-bus使用大内存物理机器同一台bus机器负责一个业务bees-bus备机池,及时扩容 架构组件-实时链路容灾: SDK落盘重发机制 平台化配置管控配置动态感知支持落多目录多文件 架构组件-实时链路容灾:数据反压缓存动态落盘重发 上下游联动,及时感知异常全链路流量波动监控及时数据反压告警引入Fqueue落盘支持顺序写落盘支持落单盘和多盘独立FqueueSink隔离发送 架构组件:离线链路写HDFS主备切换 & 双链路容灾快速切换 离线HDFS集群容灾能力上下游联动分钟级切换耗时 核心SLA业务容灾触发切换分钟级切换耗时 稳定性保障:规范变更发布流程 vivo数据集成链路数据质量保障实践 链路数据质量-数据完整性 支持双链路数据对账、链路关键卡点校验、发现异常并追数补数,保障SLA业务数据完整性要求 支持核心SLA业务离线实时双接入支持多种数据对账方式离线全链路对账 实时全链路对账核心业务双链路对账SLA动态保障全链路数据完整性卡点校验备份重接、追数补数 链路数据质量-数据时效性:整体思路 优先级:P0>P1>P2SLA时间:T0<T1<T2 从全链路视角,结合SLA,制定整体措施,保障数据及时产出 链路数据质量-数据时效性:Agent及时感知 Agent 采用定时轮巡+inotify 组合,时效性达毫秒级 引入inotify时,若直接用jdk的watch service会有两个问题: 问题1: 日志量TPS很高时,inotify通知频率快,每次agent处理事件,感知的增量日志少,batchSize低,浪费cpu;问题2:JDK提供的WatchService只支持监听目 录,不支持监听到具体的文本文件,直接用会出现多任务重复监听单目录,重复越多,cpu浪费越多; 解决方案: 链路数据质量-数据时效性:云原生场景实时日志感知接入 毫秒级内容变化事件的感知毫秒级扩容秒级日志接入 链路数据质量-数据时效性:任务延迟积压场景处理思路 分析任务视图依赖,识别关键基础任务,触发资源分配调度,及时疏通链路 vivo数据集成可观测实践 监控能力矩阵 从监控到可观测性 ”监控是可观测的一种实现手段,但可观测远不止于监控。“ 可观测体系:统一可观测平台 通过将 指标、日志、追踪 三大支柱信息,按场景进行关联、转化、组合,实现可观测能力 通过对日志的聚合和转化得到追踪 二元场景 可观测体系:落地实践核心思路 可观测性的价值,不仅仅是观测,更要能助力将服务从异常状态快速恢复到健康状态 vivo数据集成领域可观测落地操作范式及实践举例 操作范式:梳理场景,确定核心影响因子,完善日志、追踪和指标,关联并自动化 信息关联和自动化 可观测实践:变更故障自感知思路 将变更信息、业务链路依赖和监控信息关联,进行多维度识别,实现变更故障自感知 未来规划 未来规划 提升可观测性的场景覆盖度可观测平台能力建设根因分析(专家模型 -> 智能模型)增强 可观测 对接 自动恢复 的能力