随着这几年网络的不断发展,人们对互联网的依赖程度不断加深。各大网站的用户体验各不相同。如淘宝双11 交易上千亿,系统运行基本正常、12306 车票系统的瞬间瘫痪,网站我的信息泄露等。一个大型网站须要面临高并发访问、海量数据分析处理、网站安全性等一系列问题。 《大型网站技术架构核心原理与案例分析》 比较全面介绍了目前大型网站面临的主要技术难点和解决方案。将理论与实际案例相结合,分析通俗易懂。对我帮助很大。可是,我对于里面的一些技术名词和架构思想,好比集群、分布式、负载均衡、缓存、高并发、高可用、系统安全等等之类的词语,彻底没有一点概念,脑海中也根本没有相似的念头,有限的学习生活中也没有触碰过这些解决方案,看书的过程当中大部分时间是处于懵逼状态的。 缓存
网站的可用性架构: 安全
1、网站可用性度量服务器
1.网站不可用时间(故障时间):故障修复时间点 - 故障发生时间点,即这段时间网站不能提供正常服务。网络
2.网站可用性指标:(1 - 网站不可用时间 / 总时间)*100%,可用性4个9即表示网站99.99%的时间是没有故障的。架构
2、网站可用性考核并发
1.网站可用性对外是用户服务承诺,对内是考核指标,故障分 = 故障时间 * 故障影响权重。负载均衡
3、高可用的网站架构分布式
1.硬件故障是常态,故网站高可用架构设计的主要目标是保证服务器故障时服务依然可用,数据以让保存并能访问。模块化
2.实现高可用的主要手段:数据和服务的冗余备份和失效转移。高并发
3.大型网站分层架构使得不一样层次的服务器(应用、服务、数据),实施可用性的具体解决方案差别甚大。
网站的伸缩性架构:网站的伸缩性设计能够分红两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能经过集群实现伸缩。前者是不一样的服务器部署不一样的服务,提供不一样的 功能;后者是集群内的多台服务器部署相同的服务,提供相关的功能。
从不一样功能进行物理分离实现伸缩来讲:
纵向分离:也就是说分层后分离。就是将业务流程上不一样部分分离部署,由此来实现系统的伸缩性。
横向分离:就是说分割业务后分离,把不一样的业务模块分离部署,由此实现系统伸缩性。
网站的可扩展性架构:网站的可扩展性是指对现有系统影响最小的状况下,系统功能可持续扩展或提高的能力。构建可扩展的网站架构的核心思想是模块化,并在此基础上,下降模块之间的耦合性,提升模块的复用性。由于若是模块之间不存在直接调用,那么新增模块或者修改模块就对其余模块的影响最小,这样系统的扩展性会更好一些。