`
zhousheng29
  • 浏览: 150820 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个实时数据服务平台的设计和实现

阅读更多
背景
    在这个项目之前,也做过一个准实时的项目,大约延时10分钟左右,但是对业务单位的数据有要求,需要提供数据变化表,采用批量方式抽取,通过仓库调度系统控制任务顺序和数据流向。存在的问题:需要业务方做配合,提供数据变化表(删除,修改,新增);数据准实时,有10分钟延时;任务有异常的时候,从错误时间补数据需要耗费大量时间且找到数据偏移不容易。所以开始寻求一种通用的实时数据服务平台,目标是开发成本较低,延时少,稳定性高。

需求
    根据需求目标有多种数据来源,数据库,文件,HTTP,SYSLOG,数据量较大,目标支持20000/s的数据抓取和请求,提供在线服务请求和数据查询。

设计
    根据需求我们做出来如下图的设计方案,
   
    从下往上是数据的流向,底部是实时数据采集和数据数据捕获层,中间是实时数据接收层,上面是数据处理和计算层,顶部是数据服务层。
    1. 数据采集层,捕获层
       因为数据来源较多,有通过syslog发的,tcp发的,http发的,还有主动捕获数据的,数据库包括mysql, sqlserver,还有log文件方式;将来还需要补充oracle数据库和客户端插件方式。mysql数据库数据变化采用的是binlog解析方式,利用了中间件,sqlserver数据库采用了cdc捕获方式,其余的是在flume基础上做二次开发或自研。

    2. 数据接收层
       flume和kafka做数据接收和消息队列,实践证明这个框架还是很成熟稳定,每秒20000次的测试轻松搞定。flume方面需要做一定的二次开发,进kafka根据不同的topic进行设置。
   
    3. 数据处理和计算层
       需要统计计算的数据从storm框架计算,得到结果集插入数据库或直接提供在线统计服务;需要提供明细数据服务的根据不同的需求发往hbase或者elasticsearch。

    4. 数据服务层
       插入数据库的数据提供给前台报表展现,在线服务可以提供给前台展现或第三方调用;hbase的数据服务提供key-value的明细数据查询,elasticsearch的数据服务提供多种组合条件的查询。
分享到:
评论
1 楼 weiwei566716 2015-05-27  
做成公共服务的话,别的应用调用的话,应该怎么设计?
如果通过接口调用的话 ,是不是耦合度太高了?

相关推荐

    基于Python的可视化数据分析平台设计与实现.pdf

    本文将详细介绍如何基于Python这一强大的编程语言,设计并实现一个功能全面、操作简便的可视化数据分析平台。 首先,Python作为一种高级编程语言,其应用功能的强大性使得它可以在多个领域中发挥作用,如大型信息...

    海量历史准实时数据管理平台设计与实现

    1. **数据集中存储**:将来自不同业务系统的海量数据集中存储在一个统一的平台上,便于管理和检索。 2. **数据整合共享**:通过对数据进行标准化处理,实现跨系统、跨部门的数据共享。 3. **数据分析能力**:提供...

    基于Spark的大数据分析平台的设计与实现

    本设计旨在构建一个基于Spark的大数据分析平台,该平台将利用Scala编程语言进行开发,通过Spark SQL对数据进行处理,并最终将处理后的结果存储到MySQL数据库中,以便后续的数据可视化及分析。 #### 二、关键技术...

    电力系统实时数据服务平台研究.pdf

    电力系统实时数据服务平台的研究,旨在为电力系统提供一个高效的数据管理解决方案,确保电力系统各个环节的实时数据得到有效收集、处理和应用。 首先,电力系统实时数据的重要性不言而喻。在电力系统中,各类设备的...

    基于分布式的农业气象大数据平台设计与实现.pdf

    本文旨在设计和实现一个基于分布式的农业气象大数据平台,以满足湖北省农业气象服务的需求。该平台将实现数据的收集、存储和应用,提供气象信息化服务,促进气象信息的共享和应用。 平台的设计考虑了以下几个方面:...

    基于云计算的物流信息平台的设计与实现.pdf

    物流信息平台是一个集成化的信息系统,它能够将物流过程中的各个独立环节联系起来,实现物流信息的透明化和实时化。物流信息云平台则是在云计算环境下构建的,通过互联网提供的服务,平台具有多层次、强交互性、高度...

    java多个数据库实现数据同步

    综上所述,Java实现多数据库数据同步是一个涉及多种技术和策略的复杂问题,需要根据具体业务需求和系统架构来选择合适的方法。在实践中,应注重设计的灵活性、可扩展性和容错性,以保证系统的稳定运行。

    微软流程服务平台、数据总线

    综上所述,微软的流程服务平台和数据总线为企业构建了一个灵活、可扩展且高效的数字化工作环境,促进了流程优化和数据驱动的决策。无论是大型企业还是中小型企业,都可以利用这些工具提升自身的核心竞争力,实现业务...

    协同服务平台概要设计.doc

    系统目标:协同服务平台的主要目标是提供一个集成的协同服务平台,实现多方之间的实时通信、协作和信息共享。 用户角色:协同服务平台的用户角色包括会议组织者、会议参与者、管理员等。 业务流程:协同服务平台的...

    Java毕业设计-基于ssm的智能实时疫情监管服务平台的设计与实现+jsp+源代码+论文+mysql等项目资料

    本项目是一个基于SSM(Spring + Spring MVC + MyBatis)框架的JavaEE智能实时疫情监管服务平台的设计与实现,专为计算机相关专业的学生提供毕业设计资源和Java实战练习。项目采用JSP技术进行前端页面开发,结合MySQL...

    本科毕业设计---基于asp技术的《数据结构》精品课程多媒体网络教学平台设计与实现.doc

    本科毕业设计基于ASP技术的《数据结构》精品课程多媒体网络教学平台设计与实现旨在构建一个功能完备的多媒体网络教学平台,以提高《数据结构》课程的教学质量和学生的学习效果。该平台采用Internet信息服务(IIS)...

    海关监管区数据管理系统设计与实现.doc

    海关监管区数据管理系统设计与实现...该系统的设计和实现对海关监管区数据管理产生了重要的影响,为海关提供了一个实时、可靠的监管信息系统,提高了海关的工作效率和效率。 关键词:海关;监管;信息查询;数据管理。

    ssm534基于JavaEE的智能实时疫情监管服务平台的设计与实现+jsp.zip

    社会发展日新月异,用计算机...这样就让用户用着方便快捷,都通过同一个后台进行业务处理,而后台又可以根据并发量做好部署,用硬件和软件进行协作,满足于数据的交互式处理,让用户的数据存储更安全,得到数据更方便。

    使用live555实现实时流的推流服务器

    此外,对于大型项目,可能还需要设计一个可扩展的服务架构,以便支持多个并发流和大量客户端。 总的来说,使用live555构建实时流推流服务器是一个涉及网络编程、多媒体编码、实时协议处理的复杂任务。通过理解RTSP...

    基于python网易新闻+评论的舆情热点分析平台设计与实现.docx

    本资源摘要信息提供了一个基于Python语言开发的舆情热点分析平台的设计和实现,旨在满足媒体工作者对新闻或评论数据分析的需求,并提供专业的数据挖掘和数据分析服务。 关键词:PYTHON;网易新闻+评论的舆情热点...

    matlab中用GUI实现串口实时显示波形

    总的来说,这个项目展示了MATLAB如何结合GUI和串口通信技术,实现一个实时数据接收和可视化的工具。这不仅要求对MATLAB编程有深入理解,还需要熟悉串口通信协议和数据处理技术。对于想要开发类似应用或者进行串口...

    系统中ETL和数据集市的架构设计和实现(PPT)

    简介:作者结合实际工作的需求,在设计和实现某公司商务部分析报表系统的过程中对ETL与数据集市的架构进行了研究。该系统是某大型外资企业进行商务决策过程所需的分析报表系统,该系统能向相关部门提供每日更新、...

    面向服务架构SOA跨平台数据交换和搜索

    “面向服务架构(SOA)的跨平台数据交换与搜索”系统(简称IDB,internet database 互联网数据库)在模仿大脑记忆的基础上设计出了智能的“准一维数据结构”,并利用“准一维数据结构” 从根本上解决了异构数据源问题...

Global site tag (gtag.js) - Google Analytics