高可用数据采集平台(如何玩转3门语言php+.net+aauto)
吐槽下:本人主程是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)的更多相关文章
- 看我如何快速学习.Net(高可用数据采集平台)
最近文章:高可用数据采集平台(如何玩转3门语言php+.net+aauto).高并发数据采集的架构应用(Redis的应用) 项目文档:关键词匹配项目深入研究(二)- 分表思想的引入 吐槽:本人也是非常 ...
- 高可用Hadoop平台-Oozie工作流之Hadoop调度
1.概述 在<高可用Hadoop平台-Oozie工作流>一篇中,给大家分享了如何去单一的集成Oozie这样一个插件.今天为大家介绍如何去使用Oozie创建相关工作流运行与Hadoop上,已 ...
- 高可用Hadoop平台-Hue In Hadoop
1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...
- 高可用Hadoop平台-实战尾声篇
1.概述 今天这篇博客就是<高可用Hadoop平台>的尾声篇了,从搭建安装到入门运行 Hadoop 版的 HelloWorld(WordCount 可以称的上是 Hadoop 版的 Hel ...
- 高可用Hadoop平台-实战
1.概述 今天继续<高可用的Hadoop平台>系列,今天开始进行小规模的实战下,前面的准备工作完成后,基本用于统计数据的平台都拥有了,关于导出统计结果的文章留到后面赘述.今天要和大家分享的 ...
- 高可用Hadoop平台-集成Hive HAProxy
1.概述 这篇博客是接着<高可用Hadoop平台>系列讲,本篇博客是为后面用 Hive 来做数据统计做准备的,介绍如何在 Hadoop HA 平台下集成高可用的 Hive 工具,下面我打算 ...
- 高可用Hadoop平台-探索
1.概述 上篇<高可用Hadoop平台-启航>博客已经让我们初步了解了Hadoop平台:接下来,我们对Hadoop做进一步的探索,一步一步的揭开Hadoop的神秘面纱.下面,我们开始赘述今 ...
- 高可用Hadoop平台-启航
1.概述 在上篇博客中,我们搭建了<配置高可用Hadoop平台>,接下来我们就可以驾着Hadoop这艘巨轮在大数据的海洋中遨游了.工欲善其事,必先利其器.是的,没错:我们开发需要有开发工具 ...
- 高可用Hadoop平台-Flume NG实战图解篇
1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...
随机推荐
- Windows:子线程中创建窗口
一般来讲,UI的所有操作都必须在主线程,否则会出现未知错误.但有时候我们会需要一个功能比较单一的窗口,同时希望他在一个单独的线程运行.并不影响主线程的效率. 下面说明一下新建子线程创建的新窗口的方法, ...
- window 安装 Twisted 遇到的问题
scapy 需要Twisted17.1.0, Twisted报错 building 'twisted.test.raiser' extension 用Twisted 16.1.0 可以安装,使用时 I ...
- matplotlib-折线图、散点图
(一)折线图小结 1.设置图片大小(想要一个高清无码大图) # 图大小 plt.figure(figsize=(20, 8), dpi=80) 2.保存到本地 # 设置图片大小 plt.figure( ...
- Mirror--生成用于镜像用户同步的脚本
USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PR ...
- 在python中使用c语言编写的库
本文使用的 cffi 官网网址:https://cffi.readthedocs.io/en/latest/overview.html cffi 自己本身使用了pycparser 这个库,是用pyth ...
- React package.json详解
概述: 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据).npm install命令根据这个配置文件 ...
- 剑指offer-有序二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. def Find(self, t ...
- WebService—规范介绍和几种实现WebService的框架介绍
一.关于SOA(面向服务架构)思想 1.关于协议 2.SOA 的诞生 SOA(Service-Oriented Architecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过 ...
- ssm所需要的pom(jre8、tomcat8、spring4)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 微信小程序中公用内容
微信小程序中各个页面调用公用的js 在util.js文件中 // 跳转哪里 function go(where) { wx.reLaunch({ url: where, }) } // 将方法暴露出去 ...