贝壳找房实时计算引擎架构与应用实践

版权申诉
0 下载量 196 浏览量 更新于2024-07-05 收藏 2.12MB PDF 举报
实时计算引擎在贝壳的应用与实践 实时计算引擎是当前大数据架构中不可或缺的一部分,它可以实时处理大量数据,满足业务对实时数据处理的需求。本文将从贝壳找房大数据架构团队的实践经验出发,讲述实时计算引擎在贝壳找房的应用和实践。 一、背景介绍 贝壳找房是中国领先的房地产服务平台,业务线包括房源、客源、经纪人、C端、二手、新房、交易、签中等等。随着业务的发展,贝壳找房需要实时处理大量数据,以满足业务对实时数据处理的需求。 二、实时数据 实时数据是指实时生成的数据,包括日志数据、埋点数据、业务数据等。这些数据需要实时处理,以满足业务对实时数据处理的需求。 三、流式计算平台 流式计算平台是指可以实时处理大量数据的平台。贝壳找房选择了 Apache Flink 作为流式计算平台,因为 Flink 具有 Exactlyonce 一致性语义、完善的窗口机制、EventTime&WaterMark、状态管理、SQL 能力和社区活跃等优点。 四、平台架构 平台架构是指流式计算平台的架构设计。贝壳找房的平台架构包括流式计算平台、实时数据接入、数据通道、任务开发、任务管理等部分。 五、平台现状 贝壳找房的平台现状是指平台当前的运行状态。贝壳找房的平台当前处理 1000+ 任务,500+ 集群节点,高峰消息量级达到千亿级,消息量/天达到百万条/s。 六、引擎 引擎是指流式计算平台的核心组件。贝壳找房选择了 Apache Flink 作为引擎,因为 Flink 具有 Exactlyonce 一致性语义、完善的窗口机制、EventTime&WaterMark、状态管理、SQL 能力和社区活跃等优点。 七、实时数据接入 实时数据接入是指将日志数据、埋点数据、业务数据等实时数据接入流式计算平台。贝壳找房使用了打通线上日志到消息队列的方式将实时数据接入流式计算平台。 八、实时数据接入 实时数据接入是指将实时数据接入流式计算平台。贝壳找房使用了元数据化和实时云端控制台来实现实时数据接入。 九、数据通道 数据通道是指流式计算平台中的数据传输通道。贝壳找房使用了高效的数据通道来传输实时数据。 十、任务开发 任务开发是指开发流式计算任务。贝壳找房使用了 SQLIDE 和 Jar 来开发流式计算任务。 十一、任务管理 任务管理是指管理流式计算任务。贝壳找房使用了高效的任务管理方式来管理流式计算任务。 十二、FlinkSQL 生产实践 FlinkSQL 生产实践是指使用 FlinkSQL 来实现流式计算任务。贝壳找房使用了 FlinkSQL 来实现流式计算任务,包括 SQL 扩展、自定义 DDL 语法、元数据自动生成 DDL、自定义 UDF 语法、流与维表 JOIN、自定义多种 Sink 等。 十三、Flink 任务监控和调优 Flink 任务监控和调优是指监控和调优 Flink 任务。贝壳找房使用了 Metrics、HeartBeat 和自定义指标来监控和调优 Flink 任务,包括系统指标、流量、内存、GC、网络、Checkpoint 等。