「」无处不在的流计算到底是什么?终于有人讲明白了(附导图)
导读:两千多年以前 , 孔老夫子站在大河边 , 望着奔流而去的河水 , 不禁感叹:“逝者如斯夫 , 不舍昼夜 。 ”老夫子是在叹惜着韶华白首 , 时光易逝!
两千多年以后的今天 , 当你我抱着手机读书、追剧、抢票、剁手、刷小视频、发红包的时候 , 一道道信息流正在以光速在世界范围内传递和传播 。
本文就从“流”讲起 , 带你了解什么是流计算 , 它都有哪些优势?用在了哪些地方?
作者:周爽
来源:华章科技
本文插图
【「」无处不在的流计算到底是什么?终于有人讲明白了(附导图)】自从互联网和物联网诞生以来 , 人与人、人与物、物与物之间的互联和互动愈加紧密和频繁 , 大量丰富多彩的数据在互联和互动的过程中产生 。 海量的数据洪流将我们的时间和空间愈占愈满 , 以至于让我们开始疲于奔命 , 鲜有时间和能力再去感受和思考那些一瞬间的百万种可能 。
武林江湖中留传着一句至理名言:“天下武功 , 无坚不摧 , 唯快不破!” 。
更快更完整地获取数据 , 更快更充分地挖掘出数据价值 , 业已成为大数据时代各行各业的共识 。 在线系统监控、移动数据和物联网、金融风控、推荐系统等 , 虽然行业各不相同 , 但是它们有个共同点——“实时流计算”技术在这些领域发挥着越来越重要的作用 。
01 “流”好在哪里?
“流”是一种非常好的编程模式 。
本文插图
▲图1:代表流计算模式的有向无环图DAG
首先 , “流”与“异步”不谋而合 。
“流”的各个节点通过队列传递消息 , 不同节点的执行正好就是完全异步的 。 并且由于有队列隔离 , 不同节点的执行完全不用考虑并发安全的问题 。 “流”在内部执行时是异步和并行的 , 能最大限度提高资源使用效率 , 提高程序执行性能 。
可以说 , “流”是“异步”的一种重要表现方式 , “异步”则是“流”在执行时的内禀性质 。
本文插图
▲图2:“流”和“异步” , 傻傻分不清楚!
其次 , 如果“流”的执行节点间使用的是阻塞队列 , 那么整个流的各个执行环节就天然地带有了反向压力能力 , 让我们不必担心很多异步系统在高负载而又临时处理能力不足时造成的OOM问题 。
再次 , “流”能够非常自然地描述业务执行的流程 。 不管是大到整个产品线的各个服务模块 , 还是小到每个服务模块中的具体实现步骤 。 就像“分形”一样 , “流”能够做任意细力度的划分 。 这是一种非常普遍的描述事情发生过程的模式 。
最后 , 通过类似于Kafka这样消息中间件的隔离 , 可以非常清晰地定义模块和模块之间的边界 , 从设计模式中高内聚、低耦合的角度来看 , 是一种非常不错的实践!
02 流计算解决了什么问题?
总的来说 , 我们使用流计算主要是为了计算以下几类问题 。
1. 流数据操作
流数据操作可以说是流计算系统与生俱来的能力 , 它本身是针对数据流的转化或转移处理 , 所以实现和使用起来都相对更加直观 。
流数据操作的内容主要包括了三类:对数据进行清洗、规整和结构化 , 对不同来源的数据进行关联及合并 , 以及在不同系统之间搬运数据 。 这三类操作通过一些常用的流式API就可以实现 。
2. 单点特征计算
一个事件中包含的用户是否在黑名单中?发生事件的设备是否是模拟器?温度传感器传来的温度事件是否已经超出正常温度范围?发送消息设备的IP是否是代理?一次交易的金额是否属于大额交易?手机是否有SIM卡?
推荐阅读
- 【】沈义人也成小米用户,大家猜猜他用的是什么产品?
- 『科技拌饭』敌人无处遁形,手机变身物理外挂?华为MateXs双倍视野刚枪
- 妙家影视■如何计算低压开关柜铜排用量?这是我见过最漂亮的文章!
- 【妙家影视】如何计算低压开关柜铜排用量?这是我见过最漂亮的文章!
- 『平安江北』有疫情警察就不办案了?不存在的
- 华为云与计算再获殊荣,Atlas 900荣膺工业设计界“奥斯卡”红点奖
- 【环球网】IPF2020智慧计算,浪潮的“变”与“不变”
- 说三生有幸遇见你■而是它,为啥现在的实体店越来越少?主要原因并非是电商
- [云计算]打造工业互联网 助力企业加速“上云”
- 「寻找幸福天堂」过关练习卷!,【专项提高】小学四年级下册数学计算题专项练习
