Storm图书热度实时统计

本实战项目旨在构建一套高可靠、低延迟的实时计算系统,用于统计图书热度 TopN 榜单。系统架构严格遵循流式处理的经典分层模式,实现了从数据采集、解析、窗口聚合到结果输出的完整链路。

在数据接入层,通过CreateData模拟器定时生成流式日志文件,LineSpout作为数据源头,利用内存集合去重机制,精准监控目录并读取新增文件,确保数据不重不漏。业务处理层中,ParseBolt负责清洗与解析,将原始 CSV 字符串转化为结构化(bookId, rating)二元组。计算核心层由WindowTopNBolt承担,其配置了2分钟窗口大小、1分钟滑动间隔的时间窗口,对书籍评分进行聚合求和,并在内存中完成降序排序与截取 Top 10 操作。

结果输出层采用多路输出策略:OutputBolt将结果格式化为对齐表格打印至控制台,便于本地调试与直观观测;HdfsOutputBolt则利用 Hadoop 客户端 API,将榜单结果按窗口时间戳生成独立目录与文件,持久化存储至 HDFS 分布式文件系统,支持后续离线分析。整个拓扑通过BookRatingTopology进行组装,并针对本地模式与集群模式进行了差异化配置,具备良好的扩展性与容错能力。