浅谈实时计算

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 说到实时计算,首先我们需要了解其概念。

01 引言


说到实时计算,首先我们需要了解其概念。


实时计算 是一种持续、低时延、事件触发的计算作业


实时计算有如下三种特点:


  • 实时(Realtime)且无界(Unbounded)的数据流:实时计算面对的数据是实时且流式的,这些数据按照时间发生顺序被实时计算订阅和消费,例如网站的访问单击日志流,只要网站不关闭,其单击日志流将不停产生并进入实时计算系统;
  • 持续(Continous)且高效的计算:实时计算是一种事件触发的计算模式,触发源为无界流式数据,一旦有新的流数据进入实时计算系统,它就立刻发起并进行一次计算任务,因此整个过程是持续进行的;
  • 流式(Streaming)且实时的数据集成:被流数据触发的计算结果,可以被直接写入目的数据存储,例如将计算后的报表数据直接写入关系型数据库进行报表展示,因此流数据的计算结果可以同流式数据一样,持续被写入目的数据存储。


说到实时计算的实现,有很多种技术手段,目前主流的技术实现是Flink,博主曾经开过Flink的专栏,有兴趣的同学可以了解下《Flink专栏》。


3307052523ed4901b5741e84faa3a7bf.png


02 为何选择Flink?


Apache Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算,Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算


2b283ca8639145468de0e90e32d966a0.png


2.1 处理无界和有界数据


Apache Flink 擅长处理无界和有界数据集 精确的时间控制和状态化使得 Flink 的运行时(runtime)能够运行任何处理无界流的应用,有界流则由一些专为固定大小数据集特殊设计的算法和数据结构进行内部处理,产生了出色的性能。


  • 无界数据:有定义流的开始,但没有定义流的结束,它们会无休止地产生数据,无界流的数据必须持续处理,处理无界数据通常要求以特定顺序摄取事件,例如:事件发生的顺序,以便能够推断结果的完整性,可以理解为流处理;
  • 有界数据:有定义流的开始,也有定义流的结束,有界流可以在摄取所有数据后再进行计算,有界流所有数据可以被排序,所以并不需要有序摄取,有界流处理通常被称为批处理。

b9c3cd0aaa184986aa0c2ff26aad94ae.png


2.2 利用内存性能


有状态的 Flink 程序针对本地状态访问进行了优化。任务的状态始终保留在内存中,如果状态大小超过可用内存,则会保存在能高效访问的磁盘数据结构中。


  • 任务通过访问本地(通常在内存中)状态来进行所有的计算,从而产生非常低的处理延迟;
  • Flink 通过定期和异步地对本地状态进行持久化存储来保证故障场景下精确一次的状态一致性。


84143bf6c9be47658d0de9db3cf15051.png


2.4 运维部署


2.4.1 高可用


Flink通过几下多种机制维护应用可持续运行及其一致性:


  • 检查点的一致性: Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证精确一次(exactly-once)的状态一致性;
  • 高效的检查点: 如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。
  • 端到端的精确一次: Flink 为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。
  • 集成多种集群管理服务: Flink已与多种集群管理服务紧密集成,如 Hadoop YARN, Mesos, 以及 Kubernetes。当集群中某个流程任务失败后,一个新的流程服务会自动启动并替代它继续执行。
  • 内置高可用服务: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于Apache ZooKeeper 技术实现的,Apache ZooKeeper是一种可靠的、交互式的、分布式协调服务组件。


2.4.2 部署至任意地方


Flink 被设计为能够很好地工作在上述每个资源管理器中,这是通过资源管理器特定(resource-manager-specific)的部署模式实现的,Flink 可以采用与当前资源管理器相适应的方式进行交互。提交或控制应用程序的所有通信都是通过 REST 调用进行的,这可以简化 Flink 与各种环境中的集成。


Apache Flink 是一个分布式系统,它除了可以作为独立集群运行,同时需要计算资源来执行应用程序,Flink 集成了所有常见的集群资源管理器,例如:


  • Hadoop YARN
  • Apache Mesos
  • Kubernetes


2.4.3 运行任意规模应用


除此,Flink可以运行任意规模应用。应用程序被并行化为可能数千个任务,这些任务分布在集群中并发执行,所以应用程序能够充分利用无尽的 CPU、内存、磁盘和网络 IO,而且 Flink 很容易维护非常大的应用程序状态,其异步和增量的检查点算法对处理延迟产生最小的影响,同时保证精确一次状态的一致性。


03 解决方案


好了,至此已经讲完了为何选择Flink作为实时计算的技术实现的原因了,那么目前的市面上是否有实时计算的解决方案呢?其实在Flink的官方网站已经提供了一些供应商的解决方案参考:https://nightlies.apache.org/flink/flink-docs-release-1.15/zh/docs/deployment/overview/


9c9a1e96be6e42a9b2c1180d14adb45e.png

下面来举几个例子。


3.1 阿里云 - 实时计算Flink版



操作参考文档:



0c8405c8c9e84afc9e34cd543fbf0a37.png


3.2 腾讯云 - 数据开发


数据开发治理平台(Wedata):https://cloud.tencent.com/document/product/1267


操作参考文档:https://cloud.tencent.com/document/product/1267/72515


目前的产品其实已经支持了,只是官方的文档没有更新

a0bad7d32445449d89509edaf0780ba7.png


3.3 华为云 - DLI



操作文档参考:https://support.huaweicloud.com/usermanual-dli/dli_01_0403.html

7665115b79b74045970821e79e0c44d4.png

3.4 青云科技 - 大数据工作台


青云科技: https://docsv3.qingcloud.com/bigdata/dataomnis/intro/introduction/


操作文档:https://docsv3.qingcloud.com/bigdata/dataomnis/quickstart/summary/

ab9a65d1138f4fcc914788adbcc754a2.png


6f334f4edb484a7888035e33927c3a9a.png


b161954dcbeb4d49a518fcf46466724c.png


05c3e9db29484d44b978d7057d01d21d.png


3.5 ververica


官网:https://www.ververica.com/


操作文档:https://docs.ververica.com/getting_started/index.html

5c4141bd1be6492e9430966fa241b69e.png


04 文末


本文主要讲解了实时计算的一些概念、实时计算的Flink技术实现、实时计算的解决方案参考,希望能帮助到大家,谢谢大家的阅读,本文完!


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
2月前
|
运维 安全 数据挖掘
《实时计算 Flink 版产品评测》
在大数据时代背景下,这篇报告深入评测了实时计算Flink版产品。通过电商平台用户行为数据的实时分析,验证了其出色的稳定性和高性能,尤其在处理大规模数据流方面表现出色。相较于自建集群和其他引擎,该产品不仅简化了开发运维流程,还提供了强有力的安全保障,并采用按需付费模式降低企业成本。此外,其详尽的文档和直观的引导机制进一步提升了用户体验。然而,对于未来,报告也提出了一些改进建议,比如进一步提升性能及拓展更多功能等。
61 1
|
3月前
|
存储 运维 监控
阿里云实时计算Flink版的评测
阿里云实时计算Flink版的评测
87 15
|
2月前
|
SQL 运维 数据管理
在对比其他Flink实时计算产品
在对比其他Flink实时计算产品
|
5月前
|
数据采集 DataWorks 数据库
DataWorks产品使用合集之是否可以和Flink 实时计算结合使用
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如果要加水位线,应该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
存储 分布式计算 资源调度
浅谈实时计算
浅谈实时计算
155 0
浅谈实时计算
|
SQL 大数据 Serverless
什么是阿里云实时计算Flink版
什么是阿里云实时计算Flink版
72 1
|
存储 SQL JSON
阿里云实时计算Flink版产品介绍
乐洋、刘一鸣 阿里云产品经理
2540 16
阿里云实时计算Flink版产品介绍
|
消息中间件 SQL 存储
阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓
阿里云 Flink、阿里云 Hologres 构建实时数仓上所具备的核心能力以及二者结合的最佳解决方案。
阿里云实时计算 Flink 版 x Hologres: 构建企业级一站式实时数仓
|
存储 大数据 对象存储
如何开通实时计算 Flink 版|学习笔记(一)
快速学习如何开通实时计算 Flink 版
如何开通实时计算 Flink 版|学习笔记(一)

热门文章

最新文章