购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.2 流处理数据平台

流处理数据平台是流处理技术栈中最关键的组件。该平台作为事件数据的真实来源,必须拥有处理海量并发数据生成和消费的能力。此外,它还须确保这些事件的持久存储,以供下游组件后续的处理与分析。图2-8展示了流处理数据平台在整个架构中所处的位置。

图2-8:流处理数据平台

流处理数据平台采用主题的概念,将相关事件组合在一起。一个典型的应用程序可以使用多个主题,如图2-9所示。

例如,我们可能会设立一个专门用于订单管理的主题orders,以便将相关订单进行归类,同时,我们还可能设有一个感应读数的主题sensory readings,用以整理和分类来自物联网设备感测器的数据。

图2-9:流处理数据平台中的主题

这些主题都由分布式的仅追加日志文件所支持。为了确保其可靠性,这些日志文件会被分割成多个分区,并在多个节点上进行复制。当新的事件产生时,它会直接被追加到相应分区日志文件的末尾,如图2-10所示。

图2-10:仅追加日志文件

主题必须具备处理多个并发生产者和消费者的能力,并且应该支持多个消费者同时读取同一主题,这使得多个下游系统能够同时连接到同一主题。

Apache Kafka和Amazon Kinesis是该领域的先驱,但现在也出现了其他竞争者,例如Redpanda、Apache Pulsar和Google Pub/Sub。那么,如何决定使用哪个流处理数据平台呢?

首先,我们需要确保所选的平台能够满足我们的数据量和并发性需求。虽然我们可以参照公共基准,但建议基于自身的数据情况创建自己的基准。

一旦满足了这一需求,我们就需要了解该平台及其生态系统的可用集成,并考虑以下问题:

·是否易于与事件生成器集成以获取数据?

·是否能方便地将数据传输到下游系统?

·是否能将平台指标插入我们的监控工具中?

此外,我们还需要考虑该平台提供的支持以及其社区,以确定在遇到问题时是否能得到帮助。

最后,我们需要考察该平台的部署选项。如果我们打算自行部署平台,就需要考虑它是否能轻松地融入现有的基础设施,如果不能,是否有合适的软件即服务(S a a S)产品可供选择呢? rQffNanOeCjztqYgS8ryIXx6AV+2VQmqPb71128WXcOp1gqlF7ntQfIPc3yb7fPK

点击中间区域
呼出菜单
上一章
目录
下一章
×