文章采集平台(同类文章:高并发数据采集的架构应用(Redis的应用))
优采云 发布时间: 2021-11-08 17:07文章采集平台(同类文章:高并发数据采集的架构应用(Redis的应用))
类似文章:高并发数据采集架构应用(Redis应用)
吐槽:我的主程序是PHP,团队里没有精通.net的人才。为了解决这个平台方案,费了一番功夫。
新的一年,希望有新的开始。技术+团队管理有新突破。新的一年对自己好一点,就不能继续打基础了。
问题的出发点:
'随着软件的功能越来越强大,用户的使用需求也越来越多,用户也希望能够整合大量的数据,实现资源的合理利用。
´部分数据资源需要以网页形式抓取到采集获取数据。
´采集 申请不统一,没有很好的管理流程,比较混乱。
´采集 应用经常没有响应,也没有相应的中断程序,极大地影响了应用的不稳定性。
解决方案:
针对上述问题,提出以下解决方案,主要是利用服务平台的概念。
数据采集服务:使用C#创建windows服务。(Aauto目前还没有找到对应的创建windows服务的实例)
功能包括:
1. 定期请求pending 采集 项,放入pending 采集 队列
2. 多线程通过 API 定期上传资源数据和其他状态信息。
3. 定时平台监控,采集 应用时间过长发出中断通知,通知无响应强制关闭并重启应用。
4.上传心跳信息,保证数据采集服务正常运行。
采集应用程序:使用AAuto创建应用程序。其实你也可以用.net来创建采集应用。主要考虑aauto语言团队比较成熟,已经有现成的应用。稍作修改即可接入服务平台。
功能包括: 1. 采集 数据资源放置在本地数据库中,例如sqlite。
2. 保存耗时的信息。通过耗时平均的计算服务平台,您可以决定多久发出一次中断通知,并预测完成工作需要多长时间。
状态应用:主要是辅助应用。
功能包括:
1) 可以查看处理进度
2) 可以查看数据上传进度
3) 可以查看待处理的进度
4) 可以查看应用耗时信息
从上述方案来看,服务平台作为协调者,负责与PHP API进行交互。它相对独立于采集应用程序,因此具有很好的解耦性,同时保证了稳定性。
采集 应用不再负责与PHP API交互,主要负责与本地资源交互。相对来说,减少了代码的工作量,相应提高了采集的速度。
具体代码实现:可以关注后面的文章,我也会贡献代码。如果你认为它很好,新的一年和新的面貌,请给它竖起大拇指。