Stream ingestion and pub/sub systems - CS 591 K1: Data Stream Processing and Analytics Spring 2020
700.14 KB
33 页
0 下载
133 浏览
0 评论
0 收藏
所属分类:
云计算&大数据 / Apache Flink
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档讨论了流数据处理和发布/订阅系统的相关主题。内容涵盖了流处理系统的数据来源,包括文件、套接字、物联网设备、数据库和消息队列等。重点介绍了Pub/Sub模型与其他消息传递范式的对比,强调了Pub/Sub在空间、时间和同步解耦方面的优势。此外,文档还详细讲解了Pub/Sub的实现机制,包括主题、事件分组、内容过滤以及Google Cloud Pub/Sub的具体实现方式。 | ||
| AI总结 | ||
# 文档总结:流数据摄入与发布/订阅系统
## 1. 流数据的来源
流处理器可以从以下来源读取数据:
- **文件**:如事务日志
- **套接字**:网络连接
- **物联网设备和传感器**
- **数据库和键值存储**
- **消息队列和代理**
## 2. Pub/Sub vs. 其他通信范式
Pub/Sub与其他通信范式的对比:
| **范式** | **空间解耦** | **时间解耦** | **同步解耦** |
|----------------|--------------|--------------|--------------|
| **消息传递** | 否 | 否 | 生产者侧 |
| **RPC/RMI** | 否 | 否 | 生产者侧 |
| **异步RPC** | 否 | 否 | 是 |
| **期货** | 否 | 否 | 是 |
| **消息队列** | 是 | 是 | 生产者侧 |
| **Pub/Sub** | 是 | 是 | 是 |
**Pub/Sub的优势**:在空间、时间和同步三个维度上实现了完全解耦,提供更高的灵活性和异步性。
## 3. Pub/Sub的解耦层次
- **空间解耦**:发布者和订阅者无需互相了解。
- **时间解耦**:发布者可以在订阅者离线时发布事件。
- **同步解耦**:订阅者可以异步接收通知,无需阻塞。
## 4. 内容与主题发布/订阅
- **内容发布/订阅**:基于事件属性或内容进行分组,消费者通过过滤器订阅特定事件。
- 过滤器支持逻辑组合(如 `company == 'Uber' and price < 100`)。
- 前身是复杂事件处理(CEP)系统的前身。
- **主题发布/订阅**:基于主题关键词分组,支持主题层次结构和通配符。
- 订阅主题即加入对应组,发布事件即向组内所有成员广播。
- 订阅主题时可隐式订阅所有子主题。
## 5. 其他关键点
- **Google Cloud Pub/Sub**:提供基于URL的Topic命名和通配符支持。
- **数据一致性**:Pub/Sub系统支持发布事件的最新值,或通过特殊值(如“墓碑”)删除键。
## 6. 总结
Pub/Sub是一种高效的消息分发机制,支持内容和主题订阅模式,具备高解耦性和灵活性,适用于异步通信和复杂事件处理场景。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
26 页请下载阅读 -
文档评分













