全球旧事资料 分类
基于冗余扩展技术的系统架构研究摘要:构建可扩展的系统是计算机科学研究中的一个重要课题,也是工程实践中常常面临的一个问题。本文将结合某公司的经验,介绍在实际生产环境中如何设计一个可扩展的系统架构。关键词:负载均衡;缓存;cd
;冗余中图分类号:tp3028随着网络应用的普及,用户需求的不断变化,如何构建一个可扩展的应用系统已经成为互联网公司发展过程中必须重视的首要问题。本文集中介绍了实现可扩展系统的几种方式,通过这些方式可以增加系统的水平扩展性和冗余性。1扩展性与冗余一个理想的系统架构是它的性能会随着硬件的增加而线性增长。在这样的系统中,如果原本有一台机器,当再增加一台机器时,系统性能会提升到原系统性能的两倍;如果原本有三台机器,当再增加一台机器时,系统性能会提升33。系统的这种能力我们称之为水平扩展。如果系统中的部分机器出现故障,系统的性能会相应降低,但整个系统依然能够正常运行,系统的这种能力我们称之为冗余。水平扩展性和冗余都需要通过负载均衡来实现。2基于负载均衡技术的冗余扩展系统负载均衡就是将收到的请求按照一定的算法分发到不同的服务器上的过程。常见的负载均衡算法有随机法,轮询,带权重随机,比率,优先权,最少连接数,最快响应速度,观察方法,预测法,
f动态性能分配等方法1。负载不但需要在用户请求和服务器之间进行平衡,同时也需要在其他各个阶段进行平衡,这样才能更好的获得扩展性和冗余。通常来说一个大型系统需要在以下三个层面来实现负载均衡,如图1所示:(1)用户请求到前端web服务器;(2)前端web服务器到内部的后端平台层;(3)后端平台层到数据库;
图1基于负载均衡技术可扩展系统架构在负载均衡的实现方式上,可以选择以下几种方式:21使用智能客户端。这种方式是在数据库客户端添加负载均衡的能力,实现过程是在客户端添加一个服务池,然后在客户端进行选择连接到哪个服务器。这种方式实现起来相对比较复杂。22硬件负载均衡这种方式直接在硬件层面完成请求的分配,可以获得很高的性能,但是成本也相对较高,一般是直接购买其他公司的硬件设备2。另外硬件负载均衡一般配置功能有限,所以只能适用于一些特定的环境。大公司一般会使用硬件负载均衡来处理最外端的请求,实现第一层负载均衡。然后在配合其他的方式在后端实现更加具体的请求分发。23软件负载均衡软件负载均衡是使用软件的方式来进行请求分发2。haproxy就是一个r
好听全球资料 返回顶部