用了坐地铁的时间看完了本书,现在重新翻了前三章,梳理一下。
说一本书有没有价值,不是说作者有多么有名,不是说书讲得多么高深,让人看不懂(比如,小时候觉得余秋雨的书多么牛逼,晦涩的啥都看不懂),而是说读者看完书后能产生多少共鸣,多少为读者所用。
这本书就是一本对我产生价值的书。作者说,软件架构是指有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。书中先介绍了一个架构的简单发展史,然后分别讲了性能、可用性、伸缩性、扩展性、安全性等五个核心要素。
在架构发展史中,我们看到,不是所有网站上来都追求庞大的架构,而多是从LAMP开始,通过架构的分层、业务的分层进行扩展。从这点来看,公司的很多线上事故确实是由于架构不合理造成的。
由于工作原因,我重点关注了可用性部分。一个高可用网站的软件生产工艺,起码要关注以下几个方面:发布策略、自动化测试、预发布验证、代码的管理、自动化发布、灰度发布等。这些点我司一个都还没有做好,软件质量差也就不足为奇了。再加上实时监控、数据的冗余灾备,基本保证了网站的高可用。
后面有一个案例是讲淘宝技术架构发展的,可以结合《淘宝技术这十年》一起看。