扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1. 垂直扩展(stade up),通俗的说就是将某台单一的机器的性能提升的更高,如添加内存、更换更强的处理器等等。
2. 水平扩展(out),通俗的说就是添加新的机器。
对比可以发现,水平扩展比垂直扩展有更强大的扩展性,可以说是“无限”扩展,毕竟单台的机器的性能总是有限的,硬件的技术发展还赶不上web的发展。但同时,水平扩展也来了更高的维护成本。实际中,需要根据具体情况来寻求一个平衡点。
二.冗余
机器总可能会发生故障,而唯一的保证故障状况下服务依然可用的办法就是由多个硬件备份。备份可以分为热备份和冷备份,注意的区别在于数据服务是否在线,数据在线服务的同时进行的备份成为热备份。例如将mysql服务器关闭,然后拷贝数据文件到备份位置,则是典型的冷备份行为。
三.负载均衡
当我们使用了水平扩展之后,我们开始考虑新的问题了,如何将大量的请求“均衡”到我们的扩展机器上呢?
两种负载均衡模式:有状态(如有携带session)和无状态
两种负载均衡方式:硬件均衡和软件均衡
硬件均衡比较简单,通常接入一个设备即可,之后的均衡和故障检测等等都由硬件自动完成。成本较高。
软件均衡则是通过软件来转发各种请求,更加容易的定义转发规则,有较多的开源产品选择。
第四层和第七层
经常在负载均衡中看到第四层和第七层这两个名词。它们实际上是指它们各自工作时所处理的网络协议的层数(使用ISO模型)。
第四层是数据传输层,包括TCP和UDP,第七层则是应用层,通常web中为HTTP应用。如Apache、nginx等支持第七层的均衡,而且可配置性都相当强大,能够适应较复杂的应用。例如可以简单的将流量分担到各个负载机上,也可以定义一套业务规则,将应用划分为不同的池,每个池处理某些固定规则的URL。
对比软件均衡与硬件均衡,可以发现它们各自的优缺点:
1. 硬件均衡成本比较高,软件均衡多数可以使用免费的开源软件来实现。
2. 硬件均衡对于故障检测比软件均衡更加强大、快速。在采用硬件均衡时,一旦某台机器出现故障,马上就可以检测出来并立即屏蔽。
3. 硬件均衡可以快速的添加机器(接入硬件接口即可),而软件均衡除了添加机器外还要添加一些配置信息,以将某些流量导入到新的机器。
4. 软件均衡可以定义非常复杂的业务规则,而硬件均衡在这方面相对较弱。
5. 多数的硬件均衡方案都有捆绑附加的一些服务如HTTPS加速、DOS防火墙等等。
还有一种比较流行的方案:DNS解析。这种方式对解决用户分布在不同地理位置、不同网络的情况有着相当好的效果,每个用户都可以根据自己的网络得到一个较快速的访问IP。缺点也比较明显:DNS更新缓慢,对于实时性的均衡几乎没有什么作用,因为DNS的更新往往需要一两个小时,甚至一两天。
四.使用缓存
使用缓存将某些实时性要求不高的服务结果缓存起来是大型应用解决方案的一个共识,合理的使用缓存将极大的改善应用体验和性能。
常用的几类缓存:
缓存数据:memcached memcachedb
缓存HTTP请求: squid,varnish
相关推荐
【高并发高负载大型网站系统架构】是指设计和构建能够处理大规模用户访问、高并发请求的网站系统。这种系统架构必须具备高安全性、高稳定性、高并发处理能力和高负载承受能力,以应对如淘宝等大型电商平台所面临的...
说说大型高并发高负载网站的系统架构.mht
### 基于大型高并发高负载网站的系统架构 #### 概述 随着互联网技术的飞速发展,大型网站面临着前所未有的挑战——如何在保证用户体验的同时,应对高并发访问和高负载的情况。这就需要一系列复杂的系统架构设计和...
### 大型高并发高负载网站的系统架构解决之道 #### 概述 在互联网的高速发展下,大型网站面临着前所未有的挑战,特别是高并发和高负载情况下的稳定性与响应速度。传统的静态网页模式已无法满足现代网站的需求,...
### 高并发高负载网站系统架构 #### 一、引言 随着互联网技术的迅猛发展,网站系统面临着越来越大的访问压力。特别是在电商领域,诸如淘宝这样的电商平台经常需要应对大规模的突发流量,比如“双十一”、“双十二...
### 大型高并发高负载网站的系统架构 随着互联网技术的发展与普及,越来越多的大型网站如门户网站等面临着巨大的挑战,特别是在处理高并发请求时。本文将深入探讨这些大型网站如何通过采用一系列技术和策略来应对高...
一个小型的网站,比如个人网站,可以使用最简单的HTML静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关...
【大型高并发高负载网站的系统架构】 随着互联网行业的飞速发展,大型企业网站面临着前所未有的挑战,包括海量数据处理、高并发访问、安全性、信息检索效率等方面的提升需求。本文将通过对国外大型IT网站,尤其是...
【大型高并发高负载Web应用系统架构】 在构建大型网站时,确保其健壮性、稳定性和扩展性至关重要。为了应对大规模用户访问和高并发请求,以下是一些关键的架构策略和技术: 1. **HTML静态化** HTML静态化是提高...
【大型高并发高负载网站的系统架构】是一个关键的话题,涉及到如何设计和构建能够承受大量用户访问和并发请求的网站。以下是对这个主题的详细解释: 1. **HTML静态化**: HTML静态化是提高网站性能的重要手段,...