
1) 【一句话结论】为满足毫秒级实时监控与TB级离线分析需求,平台采用“流式实时处理+批式离线分析”双轨架构,结合Kafka作为消息缓冲,Flink处理实时流,Spark处理离线数据,存储层采用时序数据库(如InfluxDB)与对象存储(如HDFS),实现低延迟监控与高效离线分析。
2) 【原理/概念讲解】老师口吻,解释实时监控的流处理:半导体制造过程中,传感器等设备产生大量实时数据(如温度、电压),需要毫秒级响应。消息队列(如Kafka)作为缓冲,解耦生产者与消费者,保证数据不丢失。流处理引擎(如Apache Flink)支持状态管理,能处理持续流,计算结果实时写入时序数据库(如InfluxDB),支持快速查询。离线分析方面,TB级数据需要分布式计算,Spark的MapReduce模型适合大规模数据处理,支持机器学习(如预测良率),处理历史数据(如过去24小时、一周的传感器数据),结果存储在关系型数据库(如MySQL)或对象存储(如HDFS)。
类比:实时监控像“实时交通监控”,传感器数据像“车辆位置”,Kafka像“交通信号灯缓冲区”,Flink像“实时路况分析系统”,快速更新路况;离线分析像“事后交通报告”,收集所有车辆数据,用大数据工具分析事故原因,生成报告。
3) 【对比与适用场景】
| 组件 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| Kafka | 分布式消息队列 | 高吞吐、持久化、容错 | 实时数据缓冲,解耦生产者消费者 | 需要考虑分区与消费者组 |
| Flink | 流处理引擎 | 低延迟(毫秒级)、状态管理、容错 | 实时计算、事件处理 | 需要合理配置并行度 |
| Spark Streaming | Spark的流处理组件 | 与Spark生态集成、支持批处理 | 实时计算,与Spark生态统一 | 延迟比Flink稍高 |
| Spark | 批处理引擎 | 分布式计算、支持机器学习、内存计算 | 离线分析、数据挖掘 | 需要大量计算资源 |
4) 【示例】
实时监控部分伪代码:
{"timestamp": 1620000000, "device_id": "S1", "temperature": 85})。5) 【面试口播版答案】(约80秒)
“面试官您好,为满足长鑫存储的半导体制造大数据平台需求,我设计了一个双轨架构:实时监控采用流处理,离线分析采用批处理。具体来说,数据流从传感器进入Kafka,由Flink实时处理,毫秒级响应写入时序数据库,支持实时监控;离线时,Spark读取HDFS中TB级历史数据,进行机器学习分析,支持深度挖掘。技术选型上,消息队列用Kafka保证数据可靠传输,流处理用Flink实现低延迟,离线用Spark处理大规模数据,存储层用InfluxDB存储时序数据,HDFS存储历史数据。这样既能满足毫秒级监控,又能处理TB级离线分析。”
6) 【追问清单】
7) 【常见坑/雷区】