5 、小结
1
1
1
1
、可伸缩网络服务的定义
可伸缩性( Scalability )是在当今计算机技术中经常用到的词汇。对于不同的人,可伸缩性有 不
同的含义。 现在,我们来定义可伸缩网络服务的含义。
可伸缩网络服务是指网络服务能随着用户数目的增长而扩展其性能,如在系统中增加服务器、
内存或硬盘等;整个系统很容易被扩展,无需重新设置整个系统,无需中断服务。换句话说,
系统管理员扩展系统的操作对最终用户是透明的,他们不会知道系统的改变。
可伸缩系统通常是高可用的系统。在部分硬件(如硬盘、服务器、子网络)和部分软件(如操
作系统、服务进程)的失效情况下,系统可以继续提供服务,最终用户不会感知到整个服务的
中断,除了正在失效点上处理请求的部分用户可能会收到服务处理失败,需要重新提交请求。
Caching 和复制是建立高可用系统的常用技术, 建立多个副本会导致如何将原件的修改传播到 多
个副本上的问题。
实现可伸缩网络服务的方法一般是通过一对多的映射机制,将服务请求流分而治之( Divide an d
Conquer )到多个结点上处理。一对多的映射可以在很多层次上存在,如主机名上的 DNS
系统、
网络层的 TCP/IP 、文件系统等。虚拟( Virtual )是描述一对多映射机制的词汇,将多个实体组
成一个逻辑上的、虚拟的整体。例如,虚存( Virtual Memory )是现代操作系统中最典型的一 对
多映射机制,虚存建立一个虚拟内存空间,将它映射到多个物理内存上。
2
2
2
2
、网络服务的需求
随着 Internet 的飞速发展和对我们生活的深入影响,越来越多的个人在互联网上购物、娱乐、休
闲、与人沟通、获取信息;越来越多的企业把他们与顾客和业务伙伴之间的联络搬到互联网上
,
通过网络来完成交易, 建立与客户之间的联系。互联网的用户数和网络流量正以几何级数增长
,
这对网络服务的可伸缩性提出很高的要求。例如,比较热门的
Web
站点会因为被访问次数急剧
增长而不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。另外,
随着电子商务等关键性应用在网上运行,任何例外的服务中断都将造成不可估量的损失,服务
的 高可用性也越来越重要。所以,对用硬件和软件方法实现高可伸缩、高可用网络服务的需求
不断增长,这种需求可以归结以下几点:
可伸缩性 (
Scalability ) , 当服务的负载增长时, 系统能被扩展来满足需求, 且不降低服务质
量。
高可用性( Availability ) ,尽管部分硬件和软件会发生故障,整个系统的服务必须是每天 24 小
时每星期 7 天可用的。
可管理性( Manageability ) ,整个系统可能在物理上很大,但应该容易管理。
价格有效性( Cost-effectiveness ) ,整个系统实现是经济的、易支付的。
单服务器显然不能处理不断增长的负载。 这种服务器升级方法有下列不足:一是升级过程繁琐
,
机器切换会使服务暂时中断,并造成原有计算资源的浪费;二是越往高端的服务器,所花费的
代价越大;三是一旦该服务器或应用软件失效,会导致整个服务的中断。
通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有效结
构。这种松耦合结构比紧耦合的多处理器系统具有更好的伸缩性和性能价格比,组成集群的 P C
评论