2017-04-09 1050
《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。
个人觉得这本书作为一本入门书籍颇为合适,里面对架构知识的各个方面都有比较全面的讲解,通俗易懂,由于篇幅并不长且面面俱到,因此可能部分深度略有不足,但至少能使读者对网站架构的方法和思维方式有了比较全面的了解。同时也对架构师内涵和技术管理有所阐述,值得一读。
日常工作与学习中,往往更多的时间是使用快餐的方式,比如读一篇博客、听一次演讲、研究一段源码,沉下心来好好读一本书的机会反而少了,因此最近拿出一段的时间,与其他同类书籍对比的读一遍,争取学习到不同于之前的东西,结合当前公司内部的架构体系,更好的理解相关知识。
个人写读书笔记分几个阶段,先把本书提纲梳理出来,然后慢慢补充自己的一些理解和一些业内典型案例,以此为纲 循序渐进。
网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的。因此对于小型网站来说,最需要做的是位用户提供好的服务来创造价值,得到用户的认可,从而活下去,野蛮生长。
无状态应用: 应用服务器不保存业务的上下文信息,而仅根据每次请求提交的数据进行相应的业务逻辑处理,多个服务实例之间完全对等,请求提交到任何一个服务器上,处理的结构都是相同的
服务高可用(高可靠)一直是美团外卖的第一要求,为了提高可用性,做了很多策略,包括并不限于上文提出的各种架构设计方案。 其实造成线上问题的很大一部分原因是由于发版造成的,也体现出了SOP的重要性。 关于降级与依赖隔离,可以考虑采用Hystrix实现自动降级与依赖隔离 。
数据一旦出现问题,对于网站往往是毁灭性的打击,因此保护网站的数据就是保护企业的命脉。
主要手段:数据备份和失效转移
缓存服务高可用
观点一:缓存服务已经承担了业务中绝大多数的数据读取访问,因此需要同样保证高可用 观点二:缓存服务并不是数据存储服务,出现服务不可用导致数据丢失应从别的手段解决,而不是提高缓存服务本身高可用 缓存服务器集群中单机故障,集群规模较大时,数据丢失比例和数据负载压力影响很小。
CAP原理: 一个提供数据服务的存储系统无法同时满足数据一致性(Consistency)、数据可用性(Availibility)、分区耐受性(Parition Tolerance)这三个条件
数据高可用含义:
数据一致性分类: * 1) 数据强一致; * 2) 数据用户一致; * 3) 数据最终一致
数据备份
失效转移
网站伸缩性: 在不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力
可扩展性:在对现有系统影响最小的情况下,系统功能可持续扩展或者提升的能力
实现可扩展的手段:低耦合,高内聚
欢迎关注 高广超的简书博客 与 收藏文章 !欢迎关注 头条号:互联网技术栈 !
个人介绍: ** 高广超** :多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。目前就职于美团网,负责核心业务研发工作。
个人介绍:
** 高广超** :多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。目前就职于美团网,负责核心业务研发工作。
本文首发在 高广超的简书博客 转载请注明!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。