「」无处不在的流计算到底是什么?终于有人讲明白了(附导图)( 三 )
将实时流计算应用中的状态分为了“流数据状态”和“流信息状态” 。 可以说是从两个不同的维度对“流”进行的管理 。 前者“流数据状态”是从“时间”角度对流进行管理 , 而后者“流信息状态”则是从“空间”角度对流的管理 。
“流信息状态”弥补了“流数据状态”只是对事件在时间序列上做管理的不足 , 将流的状态扩展到了任意的空间 。
目前 , 针对“流信息状态”的存储 , 主要有三种方式:
- 计算节点和状态数据节点分离的分布式内存数据库方案
本文插图
▲图3:使用Redis集群进行状态存储和管理
- 计算节点和状态数据节点共存的分布式内存格点方案
本文插图
▲图4:使用Ignite集群进行状态存储和管理
- 基于分布式文件系统同步状态数据的方案
本文插图
▲图5:基于分布式文件系统的状态存储和管理集群
将“流计算应用本身的执行过程”和“流数据的信息管理机制”解耦 , 这使得实时流计算系统的整体结构更加清晰 。 如果我们将前者理解为CPU的执行流水线 , 那么后者就相当于是内存 。 实时流计算系统的这种架构就非常像是一个分布式的JVM了!
04 流计算框架
目前的开源流计算框架有许多 , 比如Apache Storm、Spark Streaming、Apache Samza、Apache Flink、Akka Streaming、Apache Beam等 。 这些流计算框架各有特色 , 那我们该如何面对琳琅满目的流计算框架呢?可以从两个角度来看待这个问题 。
从横向功能特征的角度来看 , 其实所有流计算框架的核心概念都是相同的 。 只要我们掌握了流计算中的核心概念 , 把握流计算框架中各种问题的关键所在 , 那么面对这些流计算框架 , 也不会感到眼花缭乱 , 乱了阵脚 。
从纵向发展历史的角度来看 , 以Flink为代表的新一代流计算框架 , 在理论和实践上都已日趋完善和成熟 。 当掌握了流计算中的核心概念后 , 不妨一开始就站在Flink这个巨人的肩膀上 , 开始在流计算领域的探索和实践 。
而作为有希望统一流计算领域的Apache Beam , 实际上是构建在各种具体流计算框架上的更高一层统一编程模式 , 它对流计算中的各种概念和问题做出了总结 , 是我们追踪流计算领域最新进展的一个好切入点 。
最后附上实时流计算系统思维导图:
本文插图
作者简介:周爽 , 本硕毕业于华中科技大学 , 先后在华为2012实验室高斯部门和上海行邑信息科技有限公司工作 。 开发过实时分析型内存数据库RTANA、华为公有云RDS服务、移动反欺诈MoFA等产品 。 目前但任公司技术部架构师一职 。 著有《实时流计算系统设计与实现》一书 。
本文插图
延伸阅读《实时流计算系统设计与实现》
推荐语:高度抽象出实时流计算系统的技术支撑、架构模式、编程模式、系统实现与协同系统 , 并从零编写一个分布式实时流计算系统 。
推荐阅读
- 【】沈义人也成小米用户,大家猜猜他用的是什么产品?
- 『科技拌饭』敌人无处遁形,手机变身物理外挂?华为MateXs双倍视野刚枪
- 妙家影视■如何计算低压开关柜铜排用量?这是我见过最漂亮的文章!
- 【妙家影视】如何计算低压开关柜铜排用量?这是我见过最漂亮的文章!
- 『平安江北』有疫情警察就不办案了?不存在的
- 华为云与计算再获殊荣,Atlas 900荣膺工业设计界“奥斯卡”红点奖
- 【环球网】IPF2020智慧计算,浪潮的“变”与“不变”
- 说三生有幸遇见你■而是它,为啥现在的实体店越来越少?主要原因并非是电商
- [云计算]打造工业互联网 助力企业加速“上云”
- 「寻找幸福天堂」过关练习卷!,【专项提高】小学四年级下册数学计算题专项练习
