负载均衡算法
关注NLB的起因还记得很清楚,当年信誓旦旦要利用机房机器提供免费的校园网内HOST,事与愿违,当然与自己的技术能力亦有很大关系,根本搞不定LAMP(Linux, Apache, MySQL, Perl or Python),只好一台WIN2003(ASP/.NET),另一台WIN2003+XAMPP(纯跑PHP),再弄了台WIN2003架WSUS,除了WSUS在校园网内速度惊人,3分钟内打完65个补丁,另外两个的速度都太令人失望,希望考完IELTS后还会去把这个做起来。
言归正传,负载均衡建立在现有网络结构之上,提供了一种廉价有效的方法来扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。
主要任务:
解决网络拥塞问题,服务就近提供,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免 了网络关键部位出现单点失效。
但若想实施NLB,因地制宜是最重要的,网上搜索“复杂均衡”,多数多数概念性的东西,对于想实际应用,太遥远了。举例来说,WIN2003跑WEB服务,有自己的“网络负载平衡管理器”,很容易上手设置;LINUX下的LVS(Linux Virtual Server)也是不错的选择;而针对反向代理而言,APACHE mod_proxy,Squid,或者动/静态缓存的应用(基于反相代理的Web缓存加速——可缓存的CMS系统设计)
下面是F5 BIG-IP的负载均衡算法
言归正传,负载均衡建立在现有网络结构之上,提供了一种廉价有效的方法来扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。
主要任务:
解决网络拥塞问题,服务就近提供,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免 了网络关键部位出现单点失效。
但若想实施NLB,因地制宜是最重要的,网上搜索“复杂均衡”,多数多数概念性的东西,对于想实际应用,太遥远了。举例来说,WIN2003跑WEB服务,有自己的“网络负载平衡管理器”,很容易上手设置;LINUX下的LVS(Linux Virtual Server)也是不错的选择;而针对反向代理而言,APACHE mod_proxy,Squid,或者动/静态缓存的应用(基于反相代理的Web缓存加速——可缓存的CMS系统设计)
下面是F5 BIG-IP的负载均衡算法
- 轮询(RoundRobin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
- 比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
- 优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG/IP用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮 询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG/IP才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份 的方式。
- 最少的连接方式(LeastConnection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
- 最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
- 观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
- 预测模式(Predictive):BIG/IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被big/ip进行检测)
- 动态性能分配(DynamicRatio-APM):BIG/IP收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。
- 动态服务器补充(DynamicServerAct.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
- 服务质量(QoS):按不同的优先级对数据流进行分配。
- 服务类型(ToS):按不同的服务类型(在TypeofField中标识)对数据流进行分配。
- 规则模式:针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG/IP利用这些规则对通过的数据流实施导向控制。
发表一个评论