GFS

e1. 需求

*. 廉价硬件,组件失效是常态

*. 大文件,通常在100MB或者以上,也必须支持小文件,但是不需要针对小文件做专门的优化

*. 大规模的原子性追加写,数据一旦被写入后,文件就很少会被修改

*. 大规模的流式读和小规模的随机读:小规模的随机读取操作合并并排序,之后按顺序批量读取

架构

GFS存储的文件都被分割成固定大小的Chunk。在Chunk创建的时候,Master服务器会给每个Chunk分配一个不变的、全球唯一的64位的Chunk标识。Chunk服......

职业之路

无论各行各业,每个人成长的路径本质近乎相同,永远在机械地重复这两件事情:

发现问题 -> 解决问题

但是,人与人的差距也在此迭代中逐渐拉大。理想地,每一轮的迭代都应增强个人能力,因此解决问题的能力在逐步增强,而发现的问题的价值也在不断提高,对应地,带来人的不可替代性的增强。

职业无贵贱,区别在供需。举例到程序员这个职业,大致是这样从更具体到更抽象的迭代:

1. 无发现问题的意识,仅被动接受

2. 实现级别的问题:局部更快/更易扩展/更健壮/……

3. 设计级别的问题:全局的高度,此外还应关注机器资源的效率

4. 组织级别的问题:关注人力资源的效率,组织也应满足高可用/高性能/高可......

《大型网站技术架构》读书笔记

泛而不深。

概述

大型网站

挑战

高可用

高性能:高并发、异构运营商网络

高可扩展:需求变更频繁,渐进式发展

高安全性

海量数据

发展历程

单机

应用与DB分离

+缓存集群

应用层:单机->分布式

DB读写分离

CDN、反向代理从前端基于缓存提速

DB、文件系统:单机->分布式

检索:NoSQL、搜索引擎

纵向拆分:业务拆分

横向拆分:分布式服务

架构模式(一些常见概念)

分层(横向)

分割(纵向)

分布式:提升性能或可用性,但引入更高的复杂度:CAP问题

分布式静态资源:CDN……

分布式服务

分布式存储:NoSQL……

分布式计算

集群:可伸......