贝壳找房的千亿级实时计算平台:Flink与SparkStreaming的应用

5 下载量 47 浏览量 更新于2024-08-29 收藏 1.47MB PDF 举报
"贝壳找房使用SparkStreaming和Flink构建了强大的流式计算平台,应对日均千亿级消息的处理需求。平台集成了Kafka作为数据源,处理线上日志、埋点数据和业务数据。YARN作为资源调度器,支持Flink SQL和通用实时处理模板,输出结果可存储于ES、Kafka、Hbase等。平台提供了任务管理、资源调优、元数据管理和监控报警功能,支持业务场景如指标分析、实时特征、安全风控、ETL和实时推荐。Flink因其Exactly-Once一致性语义和丰富的窗口机制而被选中。" 在贝壳找房的技术实践中,实时计算引擎扮演了关键角色,尤其是在处理日均千亿级别的消息量时。这个平台的核心是构建了一个统一的流式计算环境,包括SparkStreaming和Flink两种广泛使用的实时计算框架。这样的平台化设计旨在降低业务部门的使用成本,减少运维和监控的复杂性。 平台采用Kafka作为主要的数据流来源,接收来自两千多个线上服务的日志数据,以及由前端埋点技术上报的经纪人和用户行为数据。此外,业务数据通过Kafka消息队列进行实时处理。使用YARN作为底层资源调度器,确保计算资源的有效分配和管理。 Flink作为平台的重点,因为它提供了Exactly-Once的一致性保证,确保了数据处理的准确性,同时其丰富的窗口机制适应了各种实时数据分析的需求。Flink还扩展了SQL能力,使得业务人员可以更方便地进行实时计算。平台还包含了一套完整的任务管理工具,如SQLIDE用于编写和调试SQL任务,以及监控报警系统,确保任务的稳定运行。 目前,这个计算平台在700多个YARN节点上运行着1000多个实时任务,每天处理的消息量达到千亿级别,高峰时单个任务的消息处理速率可达百万条/秒。这个平台不仅支持指标分析、实时特征提取、安全风控等业务应用,还涵盖了数据ETL和实时推荐等复杂任务,展示了大数据实时处理在房地产领域的强大应用能力。