重量级流处理框架的应用与管理
1. 重量级框架概述
重量级框架主要用于分析大量事件,能实现近实时分析,以辅助快速决策。常见的使用模式包括:
- 提取数据、转换数据并加载到新的数据存储中(ETL)
- 执行基于会话和窗口的分析
- 检测异常行为模式
- 聚合流并维护状态
- 执行各种无状态流操作
这些框架功能强大且成熟,有众多组织使用并贡献源代码,相关的书籍、博客文章、文档和示例应用也非常丰富。然而,它们也存在一些显著的缺点:
| 缺点 | 详情 |
| ---- | ---- |
| 部署复杂 | 最初设计未考虑微服务式部署,部署需独立于事件代理和CMS的专用资源集群,增加大规模应用管理复杂性 |
| 语言受限 | 大多基于JVM,限制创建单个微服务应用的实现语言 |
| 流物化支持不足 | 并非所有框架都支持将实体流物化到无限保留表,即使支持,文档也不明显 |
2. 集群设置选项和执行模式
2.1 使用托管服务
这是最简单的集群管理方式,支付费用让服务提供商托管和管理。例如,亚马逊提供托管的Flink和Spark服务,谷歌、Databricks和微软提供Spark捆绑服务,谷歌还有Dataflow(Apache Beam运行器的实现)。不过,这些服务正朝着无服务器风格发展,需根据安全、性能和数据隔离需求评估是否适用。
2.2 构建自己的完整集群
重量级框架可拥有独立于CMS的专用可扩展资源集群,这是历史上重量级集群的常见部署方式,适用于需要大量工作节点的服务。
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



