贝壳找房:千亿级实时计算引擎实战与Flink选型策略
190 浏览量
更新于2024-08-31
收藏 1.47MB PDF 举报
在贝壳找房,实时计算引擎的广泛应用对于支撑其庞大的数据处理需求至关重要。贝壳的产品技术团队超过1000人,他们面对的主要实时数据来源包括:
1. **日志数据**:来自2000多个在线服务的日志是流式数据的主要组成部分,这些服务产生的海量日志被用于监控系统性能和异常检测。
2. **前端埋点**:APP和web端上报的经纪人作业情况和用户行为,通过前端埋点技术实时收集,用于个性化推荐、用户体验优化等。
3. **业务数据**:Kafka作为消息队列,承载着业务产生的实时数据,如交易记录、用户交互等。
为了实现高效的实时计算,贝壳建立了一个流式计算平台,主要依赖SparkStreaming和Flink这两种流行引擎。平台化设计旨在降低业务方的运维成本,避免重复建设和维护自己的实时计算环境。早期,每增加一个业务方使用数据流计算就需要单独搭建客户端,而现在,平台化将这些复杂性统一起来,使得业务人员可以直接使用大数据能力进行实时处理,但同时也要求他们具备一定的技术基础。
Kafka作为数据源,承载不同类型的数据流和实时数据库binlog,以及内部前端项目的埋点数据(如Dig)。资源调度层面,平台使用YARN进行管理,同时基于社区版Flink扩展了SQL能力,并提供通用实时处理模板。数据的输出则需要兼容各种存储和分析工具,如Elasticsearch、Kafka、Hbase等。
实时任务管理与监控是平台的核心功能,包括资源调度优化、元数据化数据处理以及SQL IDE支持和报警系统。此外,平台还支持多种业务应用,如指标分析、实时特征工程、安全风控、ETL(提取、转换、加载)以及实时推荐等。
当前,贝壳的实时计算平台规模庞大,约有700个节点和1000多个实时任务,每天处理的数据量达到千亿级别,高峰时单个任务每秒可处理百万条消息。在这样的背景下,贝壳选择Flink作为主要引擎的原因在于它的Exactly-Once一致性保证和丰富的窗口机制,这对于保证数据的准确性和一致性至关重要。Flink的这些特性使得贝壳能够处理高并发、低延迟的实时计算场景,满足其业务需求的实时性和可靠性要求。
2021-01-07 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38737980
- 粉丝: 8
- 资源: 964
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍