构建可扩展的Web站点(三) - hfut_wowo的专栏 - 博客频道 - CSDN.NET
八,什么是可扩展性?
可扩展不是指原始速度,也和特定的技术完全无关,甚至和逻辑层面的分离策略也不相关。简单来说,可扩展性有三个特性:
1,系统提供的能力可扩展;
2,系统容纳的数据量可扩展;
3,系统可维护。
九,扩展硬件平台
硬件平台的扩展主要有两种方式:一是垂直扩展,即用一个更为强大的硬件替代原有硬件,从而达到扩展目的;二是水平扩展,就是增加当前硬件的复制品来进行扩展。对于大型应用来说,明显水平扩展的优势较大。但是对于小型应用来说,垂直扩展比较吸引人,因为设计很容易。
不管是垂直扩展还是水平扩展,都需要考虑冗余,因为没有机器是不会发生故障的,这时就需要备份。备份有三种:冷备份、热备份和完全备份。
冷备份相当于一个备用手机,主手机损坏后,需要开启备用手机,并将数据从云端备份下来,即可正常使用;
热备份的一个典型是Mysql的主从数据库配置,当某一从库发生故障时,修改配置文件将此库从中去除,即可解决问题;
完全备份,典型的有负载均衡,无需人工配置,完全自检测失效组件,对于用户来说,服务一直是正常的。但完全备份存在震荡问题。
十,软件负载均衡
软件的负载均衡是通过运行在常规机器之上的服务软件,而不是运行在ASIC之上的负载均衡操作系统。软件的负载均衡可以在第四层做,即基于IP地址和端口的负载均衡。另一种是在第七层中做,即检查HTTP请求自身,查看请求和请求头信息,并将这些信息纳入平衡策略的考虑中去。因此在这种平衡策略中,可以基于查询字符串中含有的信息、cookie中的信息或者任何标头中的信息,当然也可以用第四层的信息。
对于负载均衡来说,更好的策略是将一个特定的请求映射到一台特定的服务器,为什么要这么做呢?这样就可以确保每台服务器的缓存是完全唯一的,比每台服务器都放完整的、相同的缓存要好得多。
对于更大规模的平衡,可能就需要多个集群了。这就像一个树的结构了。
除了HTTP流量需要平衡,其它服务也可以进行负载均衡,例如SMTP服务。
Read full article from 构建可扩展的Web站点(三) - hfut_wowo的专栏 - 博客频道 - CSDN.NET
No comments:
Post a Comment