Collapse对《Designing Data-Intensive Applications》的笔记(4)
Collapse (Viva la vida)
-
第1页
-
第7页 Preface
分布式系统发展的动力:
1. 互联网巨头们需要处理规模巨大的数据和流量
2. 商业模式变得敏捷,需要低成本地尝试某个想法;反应要迅速,模型要 flexible
3. 开源软件大获成功
4. 摩尔定律渐渐失效,并行变成一种趋势
5. 分布式系统构建的成本降低,得益于类似 AWS 这样的服务商
6. 越来越多的服务需要高可用
-
第3页 Chapter 1
Alan Kay 的整个访谈要找时间专门去看下
主要限制
数据密集型:数据量、数据复杂度、数据变化的速度
计算密集型:CPU 的算力
数据密集型应用的部分组件:
1. 数据库:存储数据
2. 缓存:记住某个耗时操作的结果,加快读取
3. 搜索引擎:搜索和筛选
4. 流处理:向其他进程发送消息用于异步处理
5. 批处理:周期性地处理积累的大量数据
-
第6页 Chapter 1
软件系统需要考虑的三点:
1. Reliability 可靠性
2. Scalability 伸缩性
3. Maintainability 可维护性
可靠性
1. 功能如用户预期
2. 能够容忍用户出错或非预期的使用方式
3. 在预期的负载和数据量下,性能满足用户场景
4. 拒绝未授权访问,防止滥用
真 · 客户第一