开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第35天,点击查看活动详情
阅读英文翻译
01-欢迎来探索流式系统
本章内容包括:
- 流处理简介
- 区分流处理系统和其他系统
在本章中,我们将尝试回答一些关于流式系统的基本问题,首先是 "什么是流处理?"和 "流处理系统或流式系统是用来做什么的?",本章的目的是覆盖一些将在后面章节中讨论的基本观点。
1.1 流处理是什么
流式处理是近年来大数据领域最流行的技术之一。流处理系统是处理连续事件流的计算机系统。
流式处理的一个关键特征是:事件一出现(或几乎一出现)就被处理。这是为了尽量减少原始事件进入流式系统和处理事件的最终结果之间的延迟。大多数情况下,延迟从几毫秒到几秒钟不等,这可以被视为实时或近实时;因此,流处理也被称为实时处理。从使用角度来看,流式处理通常用于分析不同类型的事件。因此,实时分析、流式分析和事件处理等术语也可能被用来指不同场景下的流式处理系统。在本书中,流式处理是选择的术语,它已被业界广泛采用。
下面是几个事件的例子:
- 电脑上的鼠标点击
- 手机上的敲击和滑动
- 火车进站和出站
- 一个人发出的短信和电子邮件
- 实验室里的传感器所收集的温度
- 所有用户在一个网站上的互动(浏览页面、用户登录、点击等)
- 数据中心的计算机服务器所产生的日志
- 一家银行的所有账户的交易
请注意,通常情况下,流式系统中处理的事件没有一个预定的结束时间。你可以认为它们是永无止境的;因此,事件通常被认为是连续和无界的。从字面上讲,事件是无处不在的,我们生活在信息时代,大量的数据无时不刻不在产生、收集和处理。
思考:
流处理系统是用于处理连续事件流的计算机系统。
1.2 流式系统示例
我们来看看以下两个例子:
-
第一个例子是实验室的温度监测系统。许多传感器安装在不同的位置,每秒收集温度数据。流式系统用于处理收集到的数据,在仪表板上显示实时信息,当检测到任何异常情况时触发警报。实验室管理员使用该系统监控所有的房间,并确保温度在正常的范围内。
-
第二个例子是处理用户交互的监控和分析系统,例如浏览页面、用户登录或网站上的按钮点击。当你访问一个网站时,很多事件都会被记录下来。这些原始事件往往有很多字段,所以直接处理并不高效。此外,一些字段不可读,需要在使用之前进行转换。在这种情况下,流式系统非常适合于将原始事件数据转换为更有用的信息,例如请求数量、活跃用户数、每个页面的浏览量和可疑的用户行为。
在上面的例子中,大量的事件可以由流式系统来实时处理,挖掘出隐藏在数据中的有用信息。流式系统是非常有用,因为这些事件中隐藏着大量有用的信息,并且实时处理在许多情况下是至关重要的。
1.3 流式系统和实时
流式系统指的是从连续事件流中提取有用信息的系统。更具体地说,正如我们在本节开始时提到的,我们希望流式系统能在收集事件后尽快处理事件并产生结果。这是可取的,因为它允许以最小的延迟获得结果,并及时进行合适的响应。实时性使流式系统在许多情况下非常有用,比如需要低延迟结果的实验室和网站等地方。
在实验室,监控系统可以触发警报,自动备份设备,并在必要时通知管理员。如果故障设备没有及时维修或更换,温度没有得到控制,对温度敏感的设备和样品可能会受到影响或损坏。一些正在进行的实验也可能被打断。对于一个网站来说,除了监控问题,流式系统产生的图表和仪表盘可以帮助开发人员了解用户如何参与网站,以便他们可以相应地改进他们的产品。