负载均衡的方案在服务架设初期就需要考虑,不管是购买价格高昂的硬件负载均衡器还是使用花费较少的软件方式,以下几点都是在综合考虑负载均衡方案的时候需要考虑的问题:
性能
性能无疑是综合考虑各种负载均衡方案时放在重点考虑的问题。
性能的优劣的决定性因素是多方面的。最主要的是与负载均衡设备的处理能力,采用的负载均衡算法相关。主要考虑的有两点:
1)均衡方案对服务器集群整体的性能影响,这是响应客户端连接请求速度的关键;
2)负载均衡设备自身的性能,避免有大量连接请求时自身性能不足而成为服务瓶颈。
可扩展性
随着技术的更新迭代,业务量的增加或者服务的转变,一年前的负载均衡服务可能在现在需要做出调整和扩展。这就要求我们采用的负载均衡方案能够满足这些需求,能够有很强的扩展性,能够均衡不同操作系统和硬件平台之间的负载,能均衡HTTP、邮件、新闻、代理、数据库、防火墙和 Cache等不同服务器的负载,并且能以对客户端完全透明的方式动态增加或删除某些资源。
灵活性
负载均衡方案应该能够灵活的提供各种不同的方式去满足应用需求的不断变化。面对服务器集群中不同机器的不同需求时,能够灵活的提供相应的策略去供备选。
可靠性
在对服务质量要求较高的站点,负载均衡解决方案应能为服务器群提供完全的容错性和高可用性。但在负载均衡设备自身出现故障时,应该有良好的冗余解决方案,提高可靠性。使用冗余时,处于同一个冗余单元的多个负载均衡设备必须具有有效的方式以便互相进行监控,保护系统尽可能地避免遭受到重大故障的损失。
易管理性
不管是通过软件还是硬件方式的均衡解决方案,我们都希望它有灵活、直观和安全的管理方式,这样便于安装、配置、维护和监控,提高工作效率,避免差错。
在硬件负载均衡设备上,目前主要有三种管理方式可供选择:
一、命令行接口(CLI:Command Line Interface),可通过超级终端连接负载均衡设备串行接口来管理,也能telnet远程登录管理,在初始化配置时,往往要用到前者;
二、图形用户接口(GUI:Graphical User Interfaces),有基于普通web页的管理,也有通过Java Applet 进行安全管理,一般都需要管理端安装有某个版本的浏览器;
三、SNMP(Simple Network Management Protocol,简单网络管理协议)支持,通过第三方网络管理软件对符合SNMP标准的设备进行管理。
@dingzg1993@163.com
故障检测
评价一个好的负载均衡方案,在综合考虑以上诸多特性的同时,还需要有对网络故障,服务器故障,应用服务故障等诸多故障发生时的检测能力。设想如果没有故障检测,当一台服务器出现网络故障时,如果负载均衡设备依旧将数据发送过去,势必将丢失大量的服务请求。
常用的故障检测方法有:
1) Ping侦测:通过ping的方式检测服务器及网络系统状况,此种方式简单快速,但只能大致检测出网络及服务器上的操作系统是否正常,对服务器上的应用服务检测就无能为力了。
2)TCP Open侦测:每个服务都会开放某个通过TCP连接,检测服务器上某个TCP端口(如Telnet的23口,HTTP的80口等)是否开放来判断服务是否正常。
3)HTTP URL侦测:比如向HTTP服务器发出一个对main.html文件的访问请求,如果收到错误信息,则认为服务器出现故障。