悠扬随风 发表于 2024-11-18 12:45:45

高效处理日均5000亿+数据:58集团基于Apache SeaTunnel的数据集成平台架构

视频链接:58集团大数据平台基于Apache SeaTunnel的架构演进
https://www.bilibili.com/video/BV19GUPYcEgB/?vd_source=e139ecc995ab936267a7991b9de55f6c
引言

在数字化时代,数据已成为企业最宝贵的资产之一。58集团作为中国领先的生存服务平台,其大数据部在数据集成平台的建立上不断探索与创新。本文将详细介绍58集团基于Apache SeaTunnel的数据集成平台的架构演进、优化策略以及未来规划。
数据集成平台的背景与挑战

业务背景

58集团业务广泛,随着业务的快速发展,来自招聘、房产、二手房、二手市场、本地服务和信息安全等业务领域的数据规模大幅上涨,58集团必要买通不同数据源之间的数据运动和汇聚,实现数据的统一管理、流转和共享。这不但涉及到数据的网络、分发和存储,还包括离线计算、跨集群同步和用户画像等应用场景。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_2778874408FB4A9AB4EB931818F29741
目前,58集团日均处理消息数量达到5000亿+,峰值处理消息数达2000万+,任务数达1600+。处理如此大规模的数据量,58集团面临着巨大的挑战。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_DD3C8134B4E347849959C94A06C03325
挑战

在买通不同数据源之间的数据运动和汇聚,实现数据的统一管理、流转和共享的过程中,58集团面临的挑战包括:

[*]高可靠性:确保在各种故障情况下数据不丢失,保障数据同等性和任务的稳定运行。
[*]高吞吐量:处理大规模数据流,实现高并发和大批量数据传输。
[*]低耽误:满足实时数据处理和快速相应的业务需求。
[*]易维护性:简化配置和主动化监控,减轻维护负担,便于快速发现息争决故障,确保体系的长期可用性。
架构演进之路

58集团数据集成平台的架构经历了多次演进,以顺应不断变化的业务需求和技术发展。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_9997413335AC49CFBF8EAC98BAB907B2
早期架构一览


[*]2017年:使用Flume进行平台集成管理。
[*]2018年:引入Kafka Connect 1.0。
[*]2020年:使用Kafka Connect 2.4版本,实现增量负载均衡和CDC(Change Data Capture)。
[*]2023年:引入Apache SeaTunnel,集成到实时计算平台,扩展各种Source/Sink。
2017年-2018年,58集团数据集成平台采用了Kafka Connect架构,基于Kafka的数据集成,扩展性和分布式处理以横向扩展的方式进行,支持在多节点上运行Worker和Task;Worker故障时主动将任务重新分配到其他Worker,可实现高可用;同时可进行主动化的偏移量管理,以及Rest API的任务和配置管理。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_7A83D95ECF2342CD9CE943B12CA534B0
然而,随着业务量的扩展和场景多样化,这套架构陷入了瓶颈:
1. 架构限制

[*]做不到端到端的数据集成
2. 和谐者的瓶颈问题
[*]心跳超时:worker与和谐者之间的心跳超时,会触发任务重新平衡,导致任务暂时中断。
[*]心跳压力: worker与和谐者进行心跳同步,和谐者跟踪worker状态,管理大量任务的状态元数据。
[*]和谐者失败:和谐者宕机会影响任务的分配和重新分配,造成任务失败和 处理效率下降。
3. 任务重分配 (Rebalance) 的影响
[*]任务停息和规复:每次重新分配任务时,会停息任务,然后重新分配,导致短暂的任务中断。
[*]Rebalance 风暴:如果多个worker节点频繁参加或退出集群,或者因为网络抖动导致心跳超时,
大概会引发频繁的 Rebalance,从而大幅影响任务处理效率,导致耽误。
鉴于如许的缺陷,58集团在2013年引入了Apache SeaTunnel,集成到实时计算平台,实现了自由扩展各种Source/Sink。
当前架构

当前,58集团基于Apache SeaTunnel引擎,将Source数据源(Kafka、Pulsar、WMB、Hive等),经过SeaTunnel自带的Transform功能,Sink到目的数据库(Hive、HDFS、Kafka、pulsar、wmb、MySQL、SR、Redis、HBASE、Wtable、MongoDB等),实现了高效的任务管理、状态管理、任务监控、智能诊断等功能。
平滑迁移和性能调优

平滑迁移

引入Apache SeaTunnel时,58集团必要对数据集成平台进行平滑迁移,以减少对用户或业务的影响,并保证数据的同等性,做到格式同等、路径同等和数据不丢失。
这个目标让58集团面临着挑战,必要应对迁移的成本和风险
,如了解和确认每个任务数据源格式,以及迁移涉及多个步骤,复杂且耗时长。
为此,58集团接纳了以下措施:

[*]对于源,增长RawDeserializationSchema,兼容非布局化数据
[*]对于目的地,例如hive使用hdfs sink,兼容分区加载和路径
[*]开发主动迁移工具

[*]主动天生任务配置,根据kafka connect配置天生对应的seatunnel任务配置
[*]下掉原任务,重置offset,启动新任务
[*]验证和查抄

性能调优

58集团还对数据集成平台进行了多项性能优化,包括:

[*]增长Pulsar Sink Connector:提高吞吐量。
[*]支持数组数据:增强HbaseSink的兼容性。
[*]支持设置逾期时间:优化RedisSink。
[*]提高PulsarSource吞吐量:优化文件毗连器的压缩方式。
[*]修复KafkaSource的解析问题:提高Kafka客户端的配置灵活性。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_34B985DBF12F40B0A944076056CA58C9
监控和运维主动化

此外,58集团还通过监控和运维主动化来提高数据集成平台的稳定性和效率:

[*]任务监控:实时监控任务状态,快速发现并解决故障。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_610F4A77A1A441A7B0E05AB238EAFED3
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_E6FFA251D40A414589E6BFC178257659

[*]运维主动化:通过主动化工具减少人工干预,提高运维效率。
http://openwrite-whaleops.oss-cn-zhangjiakou.aliyuncs.com/31504_5B07ED5B4D3F4B1480C342C0FEEDDDBB
后续规划

58集团对数据集成平台的未来发展有着明确的规划:

[*]持续美满智能诊断本领:通过机器学习和人工智能技术,提高故障诊断的准确性和效率。
[*]上云和容器化升级:将数据集成平台迁移到云环境,实现容器化摆设,提高资源使用率和灵活性。
结语

58数据集成平台的架构演进和优化是一个不断迭代和创新的过程。通过不断的技术探索和实践,58集团成功构建了一个基于Apache SeaTunnel的高效、稳定、可扩展的数据集成平台,为业务发展提供了强有力的数据支持。未来,58集团将继续在数据集成领域深耕,为用户提供更优质的服务。
本文由 白鲸开源 提供发布支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 高效处理日均5000亿+数据:58集团基于Apache SeaTunnel的数据集成平台架构