基于Kafka的全链路流数据处理平台的设计与实现

来源 :山东大学 | 被引量 : 0次 | 上传用户:okyy1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着web 4.0时代的到来和IT服务全球化,数据量不断以惊人的速度增长,如此规模庞大和高速到达的数据促使了数据存储计算和数据处理模型的变革。传统大数据处理模式多结合数据库技术遵循日清日毕模式,即在某一周期内(小时甚至天)对当前数据进行累计、处理和存储,显然这类处理方法已无法适应数据实时计算的模式。此时流计算模型凭借其流数据的适用性、低时延的有效性、计算逻辑的实时性以及计算成本的可平摊性,在实时处理大数据的业务中脱颖而出。另一方面,由于流计算的上下游数据可能来自不同的企业/IT系统,无法保证数据存储介质的同构性和数据格式的一致性。为保证数据可以在平台与外部系统间进行可靠、高效地传输,我们引入了实时消息队列——Apache Kafka。基于此搭建一条数据高速公路,帮助用户方便、快捷地访问各类数据,实现端到端的流数据整合。本文设计的全链路流数据处理平台以Kafka为扩展,基于先进的流处理和容器的架构技术,满足各类不同应用场景的统一使用,提供异构数据库复制、实时同步、交换整合、ETL等集成一体化的功能,实现不同数据之间交换同步、整合的应用场景。该平台总体架构由三层组成,承载大数据平台的物理层、对数据进行核心处理的服务层、适用于多种流数据业务的应用层。本文主要是涉及到该平台核心部分——服务层的实现以及物理层的部署。服务层主要是由数据集成、数据清洗、数据处理以及数据存储四个模块组成:1.数据集成:引入Kafka作为数据中心,支持Connector可插拔式的集成,并实现数据的Source Connector,对接异构数据存储介质(例如MySQL、MongoDB、HDFS等),实时将数据高效地流入Kafka,为流式计算提供数据。2.数据清洗:直接对接的数据在一定程度上并不能直接用于数据处理或分析业务,因此该平台设计了数据清洗模块,在数据流动的前提下,对数据进行ETL操作(包括filter、union、add、sum等),完成数据分析的前期准备工作。3.数据处理:结合Spark Streaming流式计算框架,来增量消费从Source Connector流入到Kafka内的数据,并将处理后的结果数据流回Kafka暂存。4.数据存储:针对下游不同的IT系统所具备的不同的数据存储方式,通过Sink Connector的sink端将数据实时流式同步到各个业务系统使用。物理层以虚拟化Docker容器作为流式计算的底层承载平台,以Kubemetes作容器管理、调度系统,方便快速部署、迁移和资源使用的最大化。因平台较大,本文仅介绍本人在实习中承担的主要工作,如下所示:1.设计并实现以实时消息收发器Kafka为中心来对接不同数据来源和数据输出的Connector(连接器)。主要包括Kafka两种形式的Connector设计与实现:SourceConnector从其他系统导入数据和SinkConnector导出数据,Kafka Connect的管理包括为解决智能解析数据源设计并实现统一的Schema;2.整合 Spark Streaming 和 Kafka,即实现基于 Spark Streaming 对数据的处理。以Kafka作为实时消息收发器,Spark Streaming处理实时流数据,针对不同的业务需求使用不同的算法来进行数据处理,并把结果暂存在Kafka中;3.对该平台进行部署。基于Kubernetes实现该全链路流数据处理平台,并部署在Docker容器里;4.模拟场景——本文模拟一个实时订单交易对该平台进行性能测试,验证该平台的可用性和高效性。
其他文献
作为主流媒体阵营中党报方阵的一员,地市党报是地市一级党委、政府的机关报纸、权威媒体,担当着地方新闻宣传的职责与使命。地市级党报在我国有着较长的历史,且数量最多,贴近
哈尔滨工业大学环境生物研究中心以科研道德素质为起点,通过使用试验记录本、严把开题报告关、建立研究生实验室档案、实验技能培训与考核、实验室安全管理、学术例会、支持对
莱芜张家洼铁矿位于华北克拉通东缘的鲁西地区,矿石成因类型为夕卡岩型铁矿。矿体赋存在早白垩世高镁闪长岩与奥陶系马家沟组灰岩及白云岩接触带附近。本文通过对莱芜岩浆和
从运行原理出发,建立了感应型无轴承电机磁悬浮力的解析模型。设计了一个模糊控制器,进而构建了一个基于模糊控制的自适应PID控制器;利用模糊控制器的模糊推理能力来实现PID控制