《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。
个人觉得这本书作为一本入门书籍颇为合适,里面对架构知识的各个方面都有比较全面的讲解,通俗易懂,由于篇幅并不长且面面俱到,因此可能部分深度略有不足,但至少能使读者对网站架构的方法和思维方式有了比较全面的了解。同时也对架构师内涵和技术管理有所阐述,值得一读。
日常工作与学习中,往往更多的时间是使用快餐的方式,比如读一篇博客、听一次演讲、研究一段源码,沉下心来好好读一本书的机会反而少了,因此最近拿出一段的时间,与其他同类书籍对比的读一遍,争取学习到不同于之前的东西,结合当前公司内部的架构体系,更好的理解相关知识。
个人写读书笔记分几个阶段,先把本书提纲梳理出来,然后慢慢补充自己的一些理解和一些业内典型案例,以此为纲 循序渐进。
网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的。因此对于小型网站来说,最需要做的是位用户提供好的服务来创造价值,得到用户的认可,从而活下去,野蛮生长。
- 服务高可用(高可靠)一直是美团外卖的第一要求,为了提高可用性,做了很多策略,包括并不限于上文提出的各种架构设计方案。
- 其实造成线上问题的很大一部分原因是由于发版造成的,也体现出了SOP的重要性。
- 关于降级与依赖隔离,可以考虑采用Hystrix实现自动降级与依赖隔离 。
数据一旦出现问题,对于网站往往是毁灭性的打击,因此保护网站的数据就是保护企业的命脉。
缓存服务高可用
- 观点一:缓存服务已经承担了业务中绝大多数的数据读取访问,因此需要同样保证高可用
- 观点二:缓存服务并不是数据存储服务,出现服务不可用导致数据丢失应从别的手段解决,而不是提高缓存服务本身高可用
- 缓存服务器集群中单机故障,集群规模较大时,数据丢失比例和数据负载压力影响很小。
CAP原理: 一个提供数据服务的存储系统无法同时满足数据一致性(Consistency)、数据可用性(Availibility)、分区耐受性(Parition Tolerance)这三个条件
* 1) 数据强一致;* 2) 数据用户一致; * 3) 数据最终一致
网站伸缩性: 在不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力
可扩展性:在对现有系统影响最小的情况下,系统功能可持续扩展或者提升的能力
实现可扩展的手段:低耦合,高内聚