`
zhousheng29
  • 浏览: 150662 次
  • 性别: 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. **数据分析能力**:提供...

    基于大数据技术的 智慧校园数据服务平台设计与实现.pdf

    智慧校园数据服务平台设计与实现是当前教育信息化领域的重要课题,特别是在大数据技术的推动下,能够有效地解决高校信息孤岛的问题,提升数据处理和决策支持的效率。本文将深入探讨基于大数据技术的智慧校园数据服务...

    基于java的数据监控与管理平台技术实现.pdf

    整体来看,文章阐述了一个完整的数据监控与管理平台技术实现方案,涉及了系统功能设计、前端与后端技术选型、数据存储设计、服务器搭建和应用框架等多个方面。其中,Java语言在后端功能模块的开发中发挥着核心作用,...

    基于Flink ClickHouse构建实时数据平台.pdf

    跨集群多名称服务是指在实时数据平台中,如何实现跨集群的数据处理和分析。 12.Multi-user Write Permission 多用户写权限是指在实时数据平台中,如何实现多用户的数据写权限控制。 13.Why Flink+ClickHouse 为...

    基于Flink的组件化实时特征处理平台的设计与实现.docx

    一站式的大数据处理平台是指设计了一个完整的闭环系统,从数据采集、数据处理、分布式存储、数据管理等环节,实现了从数据采集到数据应用的全链路处理。该平台具有高效、低延迟和高容错性的要求,保障任务严格无误地...

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

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

    铁路数据服务平台存储架构设计与应用.pdf

    《铁路数据服务平台存储架构设计与应用》一文深入探讨了如何应对当前的“数据沼泽”问题,提出了一个创新的铁路数据服务平台存储架构设计方案。该方案由三个关键部分构成,旨在实现高效、智能的数据存储、管理和访问...

    毕业设计-ssm框架基于JavaEE的智能实时疫情监管服务平台的设计与实现+jsp+论文+源代码等完整资料.zip

    本项目是一个基于JavaEE的智能实时疫情监管服务平台的设计与实现,主要面向计算机相关专业的学生进行毕业设计,同时也可作为Java学习者的实战练习项目。项目包含了完整的源代码、数据库脚本以及详细的开发说明,并...

    数据链路层滑动窗口协议的设计与实现源码

    自己编的程序,利用所学数据链路层原理,自己设计一个滑动窗口协议并在仿真环境下编程实现有噪音信道环境下两站点之间无差错双工通信。信道模型为8000bps 全双工卫星信道,信道传播时延270 毫秒,信道误码率为10-5,...

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

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

    java数据实时同步系统

    从文件名"定时同步系统"推测,该系统可能包含一个定时任务调度组件,如Quartz或Spring Scheduler,用于定期执行数据同步任务。 综上所述,Java数据实时同步系统通过高效的同步策略、可靠的框架和全面的错误处理...

    基于分布式地理围栏的管道舆情监控平台的设计与实现.pdf

    分布式地理围栏技术作为一种有效的LBS应用,广泛用于各种移动应用中,用以建立一个虚拟地理边界,监控在此范围内的移动终端设备,并根据这些信息提供精准的服务推送。管道舆情监控平台利用地理围栏技术,实现了对...

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

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

    数据中台标准方案 .docx

    数据中台是一个集中式的数据管理平台,旨在整合企业的数据资源,提供数据的一致性、实用性和独立性。数据中台的出现解决了企业内部的数据孤岛问题,实现了数据的共享、交换和复用。 1.2 数据中台的价值 数据中台的...

    先进控制软件实时数据平台的研究与设计

    绍了一种基于动态链接库DLL技术的实时数据平台设计.该方法既能实现代码和资源的共享, 又保证了实时的响应速度.实时数据平台在共享内存中以结构数组的形式存储,在DLL中利用内存映象 文件来实现多线程数据共享内存...

    Qt串口接收数据实时曲线

    【Qt串口接收数据实时曲线】是一个基于Qt框架的应用程序,用于实现串行通信的数据收发及实时数据显示。Qt是一个跨平台的C++图形用户界面库,提供了丰富的API和工具,便于开发各种桌面和移动应用。这个应用的核心功能...

    数据交互与共享平台概要设计说明书.doc

    * 数据交互与共享平台是一个Webservice服务系统,旨在解决不同系统之间的数据交换共享问题。 * 该平台可以实时高效地传递数据,解决了不同系统之间的接口和异构信息交换问题。 二、模块设计规则 * 系统运行环境:...

    上位机数据采集、储存、实时显示

    总结起来,这个项目展示了如何使用C#语言和串口通信技术,构建一个能够实时接收、显示和存储下位机数据的上位机应用。它涵盖了数据通信、用户界面设计、数据库操作等多个IT领域的核心技术,是理解并实践工业级数据...

Global site tag (gtag.js) - Google Analytics