软考 系统架构设计师系列知识点之大数据设计理论与实践(14)

embedded/2024/10/19 3:31:32/

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(13)

所属章节:

第19章. 大数据架构设计理论与实践

          第4节 Kappa架构

19.4.3 Kappa架构的实现

下面以Apache Kafka为例来讲述整个全新架构的过程。

部署Apache Kafka,并设置数日志的保留期(Retention Period)。这里的保留期指的是希望能够重新处理的历史数据的时间区间。例如,如果你希望重新处理最多一年的历史数据,那就可以把Apache Kafka中的保留期设置为365天;如果你希望能够处理所有的历史数据,那就可以把Apache Kafka中的保留期设置为“永久(Forever)”。

如果我们需要改进现有的逻辑方法,那就意味着我们需要对历史数据进行重新处理。需要做的就是重新启动一个Apache Kafka作业实例(Instance)。此作业实例将从头开始,重新计算保留好的历史数据,并将结果输出到一个新的数据视图中。我们知道,Apache Kafka的底层是使用Log Offset来判断现在已经处理到哪个数据块了,所以只需要将Log Offset设置为0,新的作业实例就会从头开始处理历史数据。

当这个新的数据视图处理过的数据进度赶上了旧的数据视图时,应用便可以切换到从新的数据视图中读取了。

停止旧版本的作业实例,并删除旧的数据视图。

19.4.4 Kappa架构的优缺点

  • 优点

Kappa架构的优点在于将实时和离线代码统一起来,方便维护而且统一了数据口径的问题,避免了Lambda架构中与离线数据合并的问题。查询历史数据的时候只需要重放存储的历史数据即可。

  • 缺点

Kappa的缺点也很明显:

(1)消息中间件缓存的数量和回溯数据有性能瓶颈。通常算法需要过去180天的数据,如果都存在消息中间件,无疑有非常大的压力。同时,一次性回溯订正180天级别的数据,对实时计算的资源消耗也非常大。

(2)在实时数据处理时,遇到大量不同的实时流进行关联时,非常依赖实时计算系统的能力,很可能因为数据流先后顺序问题,导致数据丢失。

(3)Kappa在抛弃了离线数据处理模块的时候,同时抛弃了离线计算更加稳定可靠的特点。Lambda虽然保证了离线计算的稳定性,但双系统的维护成本高,且两套代码会导致后期运维困难。

对于以上Kappa框架存在的几个问题,目前也存在一些解决方案。对于消息队列缓存数据性能的问题,Kappa+框架提出使用HDFS来存储中间数据。针对Kappa框架展示层能力不足的问题,也有人提出了混合分析系统的解决方案。

至此,“19.4.3 Kappa架构的实现”和“19.4.4 Kappa架构的优缺点”的全部内容就讲解完了。更多内容请看下回。


http://www.ppmy.cn/embedded/6127.html

相关文章

k8s之etcd

1.特点: etcd 是云原生架构中重要的基础组件。有如下特点: 简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单键值对存储:将数据存储在分层组织的目录中,如同在标准文件系统中监…

工业电脑在ESOP工作站行业应用

ESOP工作站行业应用 项目背景 E-SOP是实现作业指导书电子化,并统一管理和集中控制的一套管理信息平台。信迈科技的ESOP终端是一款体积小巧功能齐全的高性价比工业电脑,上层通过网络与MES系统连接,下层连接显示器展示作业指导书。ESOP控制终…

2011年认证杯SPSSPRO杯数学建模C题(第二阶段)你的爱车入保险了吗全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 C题 你的爱车入保险了吗 原题再现: 近几年,国内汽车销售市场异常火爆,销售量屡创新高。车轮上的世界,保险已经与我们如影随形。汽车保险,简称车险,是指对机动车辆由于自然…

centos常见命令及进阶命令

一、常见命令 CentOS,作为Linux的一个发行版,拥有许多强大的命令,可用于管理系统、文件、服务等。以下是一些CentOS常用的命令及其详解: ls:列出目录内容。 -l:以长格式显示详细信息。-a:显示所…

Linux编辑器gcc/g++的使用以及Makefile的用法

gcc如何完成 格式 gcc [选项] 要编译的文件 [选项] [目标文件] gcc对code.c编译形成可执行文件mybin,十分推荐直接这样写,下面会有拆分写法(不推荐) gcc与我们使用过的编辑器无二,都需要经过 1. 预处理(…

Spark/SparkSQL读取Hadoop LZO文件概述

一、前置配置 IDEA Maven安装配置 Scala(可选) Java Hadoop.dll(可能需要,具体看有无相关错误信息) hadoop-lzo-0.xx.xx.jar(如果你的版本过高,需要到官网下载高版本,mvnrepository仓…

文心一言 vs GPT-4 —— 全面横向比较

比较文心一言和 GPT-4 时,需要考虑它们的特点、优缺点以及适用场景。以下是它们的全面横向比较: 文心一言 特点: 基于预定义的模板和规则,生成简短的句子,通常为一句话。 主要用于生成文案、情话、格言等短文本内容。…

QT中的OpenGL学习------向量

一、线性代数知识 1.1 向量的点乘与叉乘 1.2 矩阵 1.3 旋转、缩放、位移 二、代码实现 #include "openglwidget.h"unsigned int VBO, VAO, EBO; float ratio 0.5; float vertices[] {//positions //colors //texture coordinates0.3f, 0.3f, 0.0f, 1.0f, 0.0f, 0…