数据岗位面试题更新 2026-08-05

请解释 Apache Storm 中的 Topology 定义及其主要职责。

数据技术原理Apache Storm

考察说明

考查对 Apache Storm 核心抽象概念 Topology 的理解。

回答思路

  1. 【回答框架 1】Topology 是 Storm 中用于描述实时计算逻辑的抽象,由 Spout 和 Bolt 通过流分组(Stream Grouping)连接形成有向无环图(DAG),用于定义数据流的来源、处理步骤和输出。
  2. 【回答框架 2】Spout 是数据源组件,负责从外部系统读取数据并发射到拓扑中;Bolt 是处理组件,接收数据并执行过滤、聚合、转换等逻辑,两者通过流(Stream)连接。
  3. 【回答框架 3】Topology 的作用是封装完整的实时处理逻辑,提交到 Storm 集群后由 Nimbus 分发到各 Supervisor 的 Worker 中并行执行,提供容错和消息处理保证。
  4. 【回答框架 4】Topology 一旦提交即持续运行,直到手动终止,适合需要长期实时处理的场景,如日志分析、实时推荐等。
  5. 【回答框架 5】Topology 与 MapReduce 作业不同,它是常驻的,而作业是短生命周期的批处理;理解拓扑结构有助于设计可扩展的实时数据管道。
  6. 【关键点 1】Topology 是 Storm 的实时计算逻辑图,由 Spout 和 Bolt 组成 DAG。
  7. 【关键点 2】Spout 负责数据输入,Bolt 负责数据处理和转换。
  8. 【关键点 3】Topology 提交后持续运行,支持并行和容错。
  9. 【易错点 1】不要混淆 Topology 与 MapReduce 作业的生命周期。
  10. 【易错点 2】避免将 Topology 视为简单的线性管道,其分组方式影响数据流向和负载。