流式处理应用场景与流式计算处理框架选择建议

文章目录

  • 前言
  • 使用场景
  • 如何选择流式处理框架

前言

在之前的文章中我们介绍了如何进行流式处理——从一般性的概念和模式说起,并列举了一些Streams的例子:

  • 流式处理相关概念总结说明
  • 流式处理设计模式总结说明
  • Kafka Streams 架构概览

接下来的文章将介绍一些流式处理的实际应用场景以及我们该从哪些方面考虑选择哪些流式处理框架,目前比较流行的流式处理框架有很多,比如说 Flink, Spark Streaming, Kafka Streaming 等。

使用场景

客户服务

假设我们刚刚向一家大型连锁酒店预订了一个房间,并希望收到电子邮件确认和收据。但是,在预订了几分钟之后我们还没有收到确认邮件,于是打电话向客服确认。

客服的回复是:“我在我们的系统中看不到订单,将数据从预订系统加载到客服系统的批处理作业每天只运行一次,所以请明天再打电话过来。你应该可以在2~3个工作日之后收到确认邮件。”这样的服务质量有点儿糟糕,而我们已经不止一次在一家大型连锁酒店遭遇过类似的问题。

我们希望连锁酒店的每一个系统在预订之后的几秒或几分钟之内都能发出通知,包括客服中心、酒店、发送确认邮件的系统、网站等。我们还希望客服中心能够立即拉取到我们在这家连锁酒店的历史入住数据,知道我们是忠实顾客,从而为我们升级服务。

如果用流式处理应用程序来构建这些系统,它们就可以几近实时地接收和处理事件,带来更好的用户体验。有了这样的系统,顾客就可以在几分钟之内收到确认邮件,并及时从信用卡中扣除费用,然后发送票据,服务台就可以马上回答有关房间预订情况的问题了。

物联网

物联网包含了很多东西,从可调节温度和订购洗衣剂的家居设备到制药行业的实时质量监控设备。

流式处理在这方面最为常见的应用是预测何时该进行设备维护。这与应用程序监控有点儿相似,只是监控的对象是硬件,这在很多行业中很常见,包括制造业、通信(识别故障基站)、有线电视(在用户投诉之前识别出故障机顶盒)等。

每一种场景都有自己的模式,但目标是一样的,即处理大量来自设备的事件,并识别出故障设备的模式,比如交换机丢包、制造过程中需要更大的力气来拧紧螺丝,或者用户频繁重启有线电视机顶盒。

欺诈检测

欺诈检测也叫异常检测,是一个非常广泛的领域,专注于捕获系统中的“作弊者”或不良分子。

欺诈检测的应用包括信用卡欺诈检测、股票交易欺诈检测、视频游戏欺诈检测和网络安全风险。在这些欺诈行为造成大规模破坏之前,越早识别出它们越好。一个几近实时的可以快速对事件做出响应(比如停止一个还没有通过审核的交易)的系统比在3天之后才能检测出欺诈行为的批处理系统要好得多。这也是一个在大规模事件流中识别模式的问题。

在网络安全领域,有一个被称为发信标(beacon)的欺诈手法。黑客在组织内部植入恶意软件,恶意软件会时不时地连接到外部网络接收命令。由于恶意软件可以在任意时间以任意频率接收命令,因此很难被检测到。

通常,网络可以抵挡来自外部的攻击,但难以阻止从内部到外部的突围。通过处理大量的网络连接事件流,识别出不正常的通信模式(例如,检测出主机访问了平常不经常访问的某些IP地址),我们可以在蒙受更大的损失之前向安全组织发出告警。

如何选择流式处理框架

在选择流式处理框架时,需要着重考虑应用程序的类型。不同类型的应用程序需要不同的流式处理解决方案。

数据摄取

  • 数据摄取的目的是将数据从一个系统移动到另一个系统,并在传输过程中对数据做一些修改,使其更适用于目标系统。

低延迟处理

  • 任何要求立即得到响应的应用程序。有些欺诈检测系统就属于这一类。

异步微服务

  • 这些微服务负责执行大型业务流程中的一些简单的操作,比如更新库存信息。这些应用程序需要通过维护本地状态缓存来提升性能。

几近实时的数据分析

  • 这些流式应用程序通过执行复杂的聚合和连接操作来对数据进行切分,并生成有趣的业务见解。

选择什么样的流式处理系统在很大程度上取决于你要解决什么问题:

  • 如果你要解决数据摄取问题,那么就要考虑是需要流式处理系统还是更简单的专注于数据摄取的系统,比如Connect。如果你确定需要流式处理系统,那么就要确保它和目标系统都有可用的连接器。
  • 如果你要进行低延迟处理,那么就要考虑是否一定要使用流。一般来说,请求与响应模式更适合用来处理这种任务。如果你确定需要流式处理系统,那么就选择一种支持逐事件低延迟模型而不是微批次模型的流式处理系统。
  • 如果你要构建异步微服务,那么就需要可以与消息总线(希望是Kafka)集成的流式处理系统,它应该具备变更捕获能力,可以将上游的变更更新到微服务的本地缓存里,并且支持本地存储,可以作为微服务数据的缓存和物化视图。
  • 如果你要构建复杂的数据分析引擎,那么就需要支持本地存储的流式处理系统,不过这次不是为了本地缓存和物化视图,而是为了支持高级聚合、时间窗口和连接,因为如果没有本地存储,就很难实现这些特性。流式处理系统的API需要支持自定义聚合、时间窗口操作和多种连接类型。

除了具体的应用场景,还需要从全局考虑如下事项。

系统的可操作性

  • 它是否容易部署?是否容易监控和调试?是否容易扩展?是否能够与已有的基础设施集成?如果出现错误需要重新处理数据该怎么办?

API的可用性和可调试性

  • 用同一种框架的不同版本开发高质量的应用程序所耗费的时间可能千差万别。因为开发时间和发布时机太重要了,所以需要选择一个高效的系统。

化繁为简

  • 大部分系统声称它们支持基于时间窗口的高级聚合和本地缓存,但问题是,它们够简单吗?它们是帮你处理了伸缩和故障恢复方面的问题,还是只提供了脆弱的抽象并让你自己处理剩下的脏活?系统提供的API越简洁,封装的细节越多,开发人员的效率就越高。

社区

  • 大部分流式处理框架是开源的。对开源软件来说,一个充满生机的社区是不可替代的。好的社区意味着用户可以定期获得新的功能特性,而且质量相对较高(没有人会使用糟糕的软件),bug可以很快地得到修复,用户的问题可以及时得到解答。如果你遇到一个奇怪的问题并在谷歌上搜索,那么可以搜索到相关的信息,因为其他人也在使用这个系统,并遇到过同样的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/774567.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android实现获取本机手机号码

和上次获取设备序列号一样,仍然是通过无障碍服务实现,在之前的代码基础上做了更新。代码和demo如下: package com.zwxuf.lib.devicehelper;import android.accessibilityservice.AccessibilityService; import android.app.Activity; import…

千万不能踏入的渠道管理五大误区!【附策略】

一、引言 在当今激烈的市场竞争环境中,有效的渠道管理是企业获得竞争优势的关键。然而,在实践过程中,不少企业因陷入管理误区而影响了市场拓展和品牌建设。本文旨在揭示渠道管理中常见的五大误区,并提供避免策略,帮助…

现代农业利器:土壤检测仪器的应用与未来

在现代农业发展的浪潮中,土壤检测仪器以其精准、高效的特点,成为了农业生产的得力助手。这些看似不起眼的设备,实际上在保障农产品质量、提高农业生产效率方面发挥着举足轻重的作用。 一、土壤检测仪器:现代农业的“眼睛” 土壤检…

科技云报道:人工智能“顶流”齐聚WAIC 2024,他们都做了什么?

科技云报道原创。 一个由智能驱动的未来世界长啥样? 从完成跨海跨城航线的“空中的士”、全无人驾驶汽车、实现奔跑功能的全尺寸通用人形机器人到百度文心一言、讯飞星火、阿里通义千问、华为盘古、商汤日日新等大模型,从智能制造引领的“灯塔工厂”到…

TTS文本转声音:fish-speech 推理、requests访问接口案例

参考: https://hub.docker.com/r/lengyue233/fish-speech https://speech.fish.audio/inference/#http-api 下载 下载模型: HF_ENDPOINT=https://hf-mirror.com huggingface-cli download fishaudio/fish-speech-1.2 --local-dir checkpoints/fish-speech-1.2下载的内容有…

GoodTask for Mac:优雅高效的任务管理助手

在快节奏的工作生活中,你是否需要一个优雅且高效的任务管理工具来助你一臂之力?GoodTask for Mac正是你的理想选择! GoodTask以其简洁直观的界面设计,让你一眼就能看清所有的待办事项。你可以轻松创建任务、设置提醒,…

请查收!模拟电路精选书单一份(可下载)

在电子工程的广阔天地中,模拟电路设计是一门艺术,也是一种科学。它要求设计师不仅要有深厚的理论知识,还要有精湛的实践技能。随着技术的发展,模拟电路设计领域不断涌现新的理论、技术和工具,这使得学习和掌握模拟设计…

虚拟ECU:纯电动汽车发展下的新选择

人类文明的进步是一个不断自我否定、自我超越的过程。21世纪以来,随着科技进步和经济社会发展,能源和交通系统已从独立于自然环境的孤立系统,转变为与自然、技术、社会深度耦合的复杂系统。为实现可持续发展和应对气候变化,世界各…

JDBC 学习笔记+代码整理

Tip Idea自带可视界面👉MySQL 图形化界面-CSDN博客 Idea2022无add Framework support选项👉最新版IDEA:Add web Framework Support步骤/构建JavaWeb项目步骤_idea add framework support-CSDN博客 基本步骤 1.加载驱动包Driver 2.建立与数据库的连接C…

MYSQL 设置主从同步

效果图 主数据库表数据 从数据库表数据 mysql 数据库配置:主数据库 设置主数据 my.cnf vim /etc/mysql/my.cnf 配置内容 [mysqld] server-id=1 log-bin=mysql-bin # 不需要同步的表 binlog-ignore-db=mysql binlog-ignore-db=sys binlog-ignore-db=performance_schema bi…

Spire.PDF for .NET【文档操作】演示:以特定的缩放比例/百分比打开 PDF 文件

有时,我们可能需要在显示 PDF 文件时更改缩放比例以满足我们的要求。在本文中,我们将演示如何使用 Spire.PDF for .NET 以特定的缩放比例/百分比(例如默认值、100% 或任何其他所需的缩放比例)打开 PDF 文件。 Spire.PDF for .NET…

TAPD项目管理软件无法与企业微信进行关联

TAPD一段时间未使用后,需要重新启动,此时会出现你的企业微信尚未与TAPD账号关联的提示 解决方案:找到TAPD应用,先删除应用,然后再解除禁用即可

基于python 的动态虚拟主机

将自己电脑上的Python脚本文件上传到虚拟机/var/www/cgi-bin/目录下 [rootlocalhost conf.d]# cd /var/www/cgi-bin/ [rootlocalhost cgi-bin]# rz -E rz waiting to receive.编辑vhost.conf配置文件 [rootlocalhost conf.d]# vim vhost.conf<virtualhost 192.168.209.140…

消息中间件ApacheKafka在windows简单安装

一.背景 之前公司需要API网关管理软件ApacheShenYu&#xff0c;我相信把调用的记录都存到一个数据库。他支持日志推送到kafka&#xff0c;所以&#xff0c;我准备尝试一下通过kafka接收调用的日志信息。第一步&#xff0c;当然是安装kafka了。 二.ApacheKafka的下载 打开下载…

Docker-自定义镜像发布到DockerHub仓库、阿里云仓库

文章目录 推送镜像DockerHub仓库推送镜像阿里云仓库 更多相关内容可查看 推送镜像DockerHub仓库 在服务器中 使用 docker 登录命令 docker login -u 账户 #enter 后输入密码推送镜像到DockerHub docker push 镜像名:tag但个人不建议推送到DockHub上&#xff0c;毕竟不是咱自…

【Python机器学习】处理文本数据——停用词

删除没有信息量的单词有一种方法&#xff0c;就是舍弃那些出现次数太多以至于没有信息量的单词。 有两种主要方法&#xff1a; 1、使用特定语言的停用词&#xff08;stopword&#xff09;列表&#xff1b; 2、舍弃那些出现过于频繁的单词。 scikit-learn的feature_extracti…

gradle构建工具

setting.gradle // settings.gradle rootProject.name my-project // 指定根项目名称include subproject1, subproject2 // 指定子项目名称&#xff0c;可选jar包名称 方式一 jar {archiveBaseName my-application // 设置 JAR 文件的基本名称archiveVersion 1.0 // 设置…

阿里云RDS云数据库库表恢复操作

最近数据库中数据被人误删了,记录一下恢复操作方便以后发生时进行恢复. 1.打开控制台&#xff0c;进入云数据库实例. 2.进入实例后 &#xff0c;点击右侧的备份恢复&#xff0c;然后看一下备份时间点&#xff0c;中间这边都是阿里云自动备份的备份集&#xff0c;基本都是7天一备…

与Flat Ads相约ChinaJoy 2024,共探全球化增长

在当今全球数字化浪潮的推动下,游戏产业作为文化与技术融合的先锋,正以前所未有的速度跨越国界,开启全球化发展的新篇章。随着第二十一届ChinaJoy的临近,全球的目光再次聚焦于上海新国际博览中心,这里即将成为数字娱乐与科技创新碰撞与交融的璀璨舞台。 而在这场盛会上,Flat A…

Python酷库之旅-第三方库Pandas(004)

目录 一、用法精讲 5、pandas.DataFrame.to_csv函数 5-1、语法 5-2、参数 5-3、功能 5-4、返回值 5-5、说明 5-6、用法 5-6-1、代码示例 5-6-2、结果输出 6、pandas.read_fwf函数 6-1、语法 6-2、参数 6-3、功能 6-4、返回值 6-5、说明 6-6、用法 6-6-1、代码…