同类文章:高并发数据采集的架构应用(Redis的应用)

吐槽下:本人主程是PHP,团队里面也没有精通.net的人才,为了解决这个平台方案,还是费了一部分劲。

新年了,希望有个新的开始。技术+团队管理都有新的突破吧,在新的一年对自己好些,不能再继续搞基下去。

问题出发点:

´随着软件的日益强大,用户的使用需求越来越多,用户也希望众多数据进行整合,来达到资源的合理应用。

´有些数据资源需要抓取网页的形式来采集到数据。

´采集应用不统一,没有良好的管理程序,杂乱无章。

´采集应用经常性无响应,无相应的中断程序,极大照成应用的不稳定性。

解决方案:

为了解决上述问题,提出了如下的解决方案,主要是使用了服务平台这个概念。

数据采集服务:使用C#创建windows服务。(aauto至今没找到相应的创建windows服务的实例)

功能包括:

1. 定时请求待采集事项,并放入待采集队列

2. 多线程定时通过API上传资源数据以及其它状态信息。

3. 定时平台监控,采集应用时间过长发出中断通知,通知无响应强制关闭应用并且重新启动。

4. 上传心跳信息,保证数据采集服务正常运行。

采集应用:使用AAuto创建应用,其实使用.net也是可以创建采集应用的,主要考虑到aauto语言这块团队相对来说成熟点,而且已有现成的应用了,只需要稍微修改下就可以和服务平台对接了。

功能包括:1. 采集数据资源放入本地数据库,比如sqlite。

2. 保存耗时信息,通过耗时的均运算服务平台可以决定多久发出中断通知,以及可以预测多久时间可以完成工作。

状态应用:主要是辅助应用。

功能包括:

1) 可以查看处理进度

2) 可以查看数据上传进度

3) 可以查看待处理进度

4) 可以查看应用耗时信息

通过以上的解决方案来看:服务平台作为统筹工作者,负责与PHP API进行交互,相对来说对于采集应用来说相对独立,所以有很好的解耦性,同时又保证了稳定性。

采集应用不再负责与PHP API交互,主要负责与本地资源交互,那么相对来说,代码的工作量减少了,采集速度也能相应的提高。

具体代码实现:可以关注下后期的文章吧,我也会进量把代码贡献出来。觉得不错的给个赞吧,新的一年新气象。

高可用数据采集平台(如何玩转3门语言php+.net+aauto)的更多相关文章

  1. 看我如何快速学习.Net(高可用数据采集平台)

    最近文章:高可用数据采集平台(如何玩转3门语言php+.net+aauto).高并发数据采集的架构应用(Redis的应用) 项目文档:关键词匹配项目深入研究(二)- 分表思想的引入 吐槽:本人也是非常 ...

  2. 高可用Hadoop平台-Oozie工作流之Hadoop调度

    1.概述 在<高可用Hadoop平台-Oozie工作流>一篇中,给大家分享了如何去单一的集成Oozie这样一个插件.今天为大家介绍如何去使用Oozie创建相关工作流运行与Hadoop上,已 ...

  3. 高可用Hadoop平台-Hue In Hadoop

    1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...

  4. 高可用Hadoop平台-实战尾声篇

    1.概述 今天这篇博客就是<高可用Hadoop平台>的尾声篇了,从搭建安装到入门运行 Hadoop 版的 HelloWorld(WordCount 可以称的上是 Hadoop 版的 Hel ...

  5. 高可用Hadoop平台-实战

    1.概述 今天继续<高可用的Hadoop平台>系列,今天开始进行小规模的实战下,前面的准备工作完成后,基本用于统计数据的平台都拥有了,关于导出统计结果的文章留到后面赘述.今天要和大家分享的 ...

  6. 高可用Hadoop平台-集成Hive HAProxy

    1.概述 这篇博客是接着<高可用Hadoop平台>系列讲,本篇博客是为后面用 Hive 来做数据统计做准备的,介绍如何在 Hadoop HA 平台下集成高可用的 Hive 工具,下面我打算 ...

  7. 高可用Hadoop平台-探索

    1.概述 上篇<高可用Hadoop平台-启航>博客已经让我们初步了解了Hadoop平台:接下来,我们对Hadoop做进一步的探索,一步一步的揭开Hadoop的神秘面纱.下面,我们开始赘述今 ...

  8. 高可用Hadoop平台-启航

    1.概述 在上篇博客中,我们搭建了<配置高可用Hadoop平台>,接下来我们就可以驾着Hadoop这艘巨轮在大数据的海洋中遨游了.工欲善其事,必先利其器.是的,没错:我们开发需要有开发工具 ...

  9. 高可用Hadoop平台-Flume NG实战图解篇

    1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...

随机推荐

  1. BaseLayout

    angularjs2 knockoutjs framework7 jquerymobile bootstrap html5 css [Activity(Label = "ActivityBa ...

  2. Flask wtform组件

    Wtforms简介 WTForms是一个支持多个web框架的form组件 主要能够帮助我们生成html标签 对数据进行验证 安装 pip install wtforms Wtforms的使用 这里借助 ...

  3. 当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)

    错误提示"事务和快照同步时提示:当IDENTITY_INSERT设置为OFF时不能向表插入显示值.(源:MSSQLServer,错误码:544)" 原因:在SQL2008同步时到S ...

  4. PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR

    REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP.如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIENT_IP 是代理服务器发送的HTTP头. ...

  5. python之轮询、长轮询、websocket

    轮询 ajax轮询 ,ajax轮询 的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息. 1.后端代码 from flask import Flask,render_templat ...

  6. tcp/udp/socket 端口映射,转发小工具

    1) 利用 Python 的 Socket 端口转发,用于远程维护 https://github.com/knownsec/rtcp 2) 反向端口转发工具 Reverse TCP Port to U ...

  7. ReactNative 环境配置

    一直是从事iOS的开发,现在研究下mac环境下reatNative的环境配置: 1. 安装HomeBlew(OS系统上的一个安装包管理器,安装后可以方便后续安装包的安装.) 终端命令: ruby -e ...

  8. 6.2 Controllers -- Representing Multipe Models

    1. 一个controller的model可以代表几个记录也可以代表单个.这里,路由的model hook返回一个歌曲数组: app/routes/songs.js export default Em ...

  9. 系统管理命令之whoami

    whoami命令用于打印当前有效的用户名称,相当于执行id  --un命令. 1.显示该命令帮助信息: # whoami --help 2.显示该命令的版本信息: # whoami --version ...

  10. python中的TCP及UDP

    python中是通过套接字即socket来实现UDP及TCP通信的.有两种套接字面向连接的及无连接的,也就是TCP套接字及UDP套接字. TCP通信模型 创建TCP服务器 伪代码: ss = sock ...