摘要

本章讨论了流处理,是介于在线系统和离线批处理间的系统,通常基于消息代理实现。流处理可以用于捕获数据变更(Change Data Capture,CDC),例如消费数据库的变更日志,达成近似实时地数据同步的效果。

阅读全文 »

摘要

本章讨论了离线批处理系统,作为之前讨论的 “请求 - 响应” 式在线系统的补充。相较于在线系统,批处理系统对延迟不敏感,通常要处理海量的数据;吞吐量是衡量性能的重要指标。MapReduce 就是经典的批处理系统, 基于 map,reduce 两个用户定义的函数,进行分布式地批处理,具有易于理解、安全重试等优点。但是,排序操作的耗时、中间状态的冗余存储、对数据流支持不好,也是难以避免的问题。 数据流引擎,例如 Flink,则支持以算子的维度构建 DAG 图,实现类似 unix 管道的任务处理。

阅读全文 »

摘要

本章讨论了分布式系统中的一致性和共识。一致性是对结果的保证,例如线性一致性,保证了每次读取都可以读到最新版本的数据。共识则是达成一致的过程,基于特定的共识算法。

阅读全文 »
0%