实时机票/火车票抓取系统是一个带有业余性质的系统,主要是作为技术的训练场。比如说ActiveMq,RMI,WebService,即使最原始的Socket也在这里一展拳脚。
大概可以分为几个模块:
- 对外服务模块:WebService(Axis2),RMI的方式,原始Socket流方式(主要学习用),HTTP JSON方式。
- 日志监控:提供对抓取的监控,监控抓取网站的规则变化,如果出现抓取错误等提供Email报警。
- 流量/性能监控:经过改造后的系统粒度非常细,运用了责任链的方式来把整个流程串起来,这样可以实现比较细粒度的流量和性能监控,可以知道每个流程节点(Handler)的流量情况和性能情况,5分钟把数据刷到DB。最后以报表图的方式展现出来。实现限流/监控功能。
- 抓取工具:顾名思议,作为业务最核心的部分,实现对网站规则的解析。
各模块讲完,上一张整体的架构图:

本文介绍了一个带有业余性质的实时机票/火车票抓取系统,详细阐述了其架构设计与关键技术应用,包括WebService、RMI、原始Socket流方式、HTTPJSON,以及系统内部的日志监控、流量/性能监控、抓取工具等多个模块。系统通过日志监控、流量/性能监控,确保抓取过程稳定高效,并提供了详细的架构图以便理解。
231

被折叠的 条评论
为什么被折叠?



