qiwihui / blog

技术和思考,基于issues
https://qiwihui.com
44 stars 3 forks source link

《数据密集型应用的设计》读书笔记──第一章:可靠性,可扩展性,可维护性 #143

Open qiwihui opened 3 years ago

qiwihui commented 3 years ago

第一章:可靠性,可扩展性,可维护性

数据密集型(data-intensive)而非计算密集型(compute-intensive):

Untitled

影响数据系统设计的因素很多,包括参与人员的技能和经验、历史遗留问题、系统路径依赖、交付时限、公司的风险容忍度、监管约束等。

重要的三个问题;

可靠性

期望:

故障(fault)和失效(failure):

硬件故障

软件故障

人为故障

可扩展性

系统不见得一直可靠,比如负载增加,系统需要持续变化。

衡量负载(Load)

衡量性能(Performance)

应对负载增加的方法

可维护性

软件开发本身开销并不算大,日后的维护升级需要花费更多。

软件系统的三个设计原则:

可运维性

简单性

保证代码简洁,让新加入的码农也能理解代码。一个很有效的方法是抽象,用高级类来描述统一的行为。

可演化性

方便后续重构、加入新功能那个,与前面的简单性息息相关。

参考

GitHub repo: qiwihui/blog

Follow me: @qiwihui

Site: QIWIHUI