调度算法
静态方法:仅根据算法本身实现调度;实现起点公平,不管服务器当前处理多少请求,分配的数量一致
动态方法:根据算法及后端RS当前的负载状况实现调度;不管以前分了多少,只看分配的结果是不是公平
静态调度算法(static Schedu)(4种):
(1)rr (Round Robin) :轮叫,轮询
说明:轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。缺点:是不考虑每台服务器的处理能力。
(2)wrr (Weight Round Robin) :加权轮询(以权重之间的比例实现在各主机之间进行调度)
说明:由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,我们根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。
(3)sh (Source Hashing) : 源地址hash实现会话绑定sessionaffinity
说明:简单的说就是有将同一客户端的请求发给同一个real server,源地址散列调度算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的并且没有超负荷,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同。它的算法流程与目标地址散列调度算法的基本相似,除了将请求的目标IP地址换成请求的源IP地址。
(4)dh : (Destination Hashing) : 目标地址hash
说明:将同样的请求发送给同一个server,一般用于缓存服务器,简单的说,LB集群后面又加了一层,在LB与realserver之间加了一层缓存服务器,当一个客户端请求一个页面时,LB发给cache1,当第二个客户端请求同样的页面时,LB还是发给cache1,这就是我们所说的,将同样的请求发给同一个server,来提高缓存的命中率。目标地址散列调度算法也是针对目标IP地址的负载均衡,它是一种静态映射算法,通过一个散列(Hash)函数将一个目标IP地址映射到一台服务器。目标地址散列调度算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
动态调度算法(dynamic Schedu)(6种):
(1)lc (Least-Connection Scheduling): 最少连接
说明:最少连接调度算法是把新的连接请求分配到当前连接数最小的服务器,最小连接调度是一种动态调度短算法,它通过服务器当前所活跃的连接数来估计服务器的负载均衡,调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1,当连接中止或超时,其连接数减一,在系统实现时,我们也引入当服务器的权值为0时,表示该服务器不可用而不被调度。此算法忽略了服务器的性能问题,有的服务器性能好,有的服务器性能差,通过加权重来区分性能,所以有了下面算法wlc。
简单算法:active256+inactive (谁的小,挑谁)
(2)wlc (Weighted Least-Connection Scheduling):加权最少连接
加权最小连接调度算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权限,加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。由于服务器的性能不同,我们给性能相对好的服务器,加大权重,即会接收到更多的请求。
简单算法:(active256+inactive)/weight(谁的小,挑谁)
(3)sed (shortest expected delay scheduling):最少期望延迟
说明:不考虑非活动连接,谁的权重大,我们优先选择权重大的服务器来接收请求,但会出现问题,就是权重比较大的服务器会很忙,但权重相对较小的服务器很闲,甚至会接收不到请求,所以便有了下面的算法nq。
基于wlc算法,简单算法:(active+1)256/weight (谁的小选谁)
(4)nq (Never Queue Scheduling): 永不排队
说明:在上面我们说明了,由于某台服务器的权重较小,比较空闲,甚至接收不到请求,而权重大的服务器会很忙,所此算法是sed改进,就是说不管你的权重多大都会被分配到请求。简单说,无需队列,如果有台real server的连接数为0就直接分配过去,不需要在进行sed运算。
(5)LBLC(Locality-Based Least Connections) :基于局部性的最少连接
说明:基于局部性的最少连接算法是针对请求报文的目标IP地址的负载均衡调度,主要用于Cache集群系统,因为Cache集群中客户请求报文的目标IP地址是变化的,这里假设任何后端服务器都可以处理任何请求,算法的设计目标在服务器的负载基本平衡的情况下,将相同的目标IP地址的请求调度到同一个台服务器,来提高服务器的访问局部性和主存Cache命中率,从而调整整个集群系统的处理能力。
(6)LBLCR(Locality-Based Least Connections with Replication) :基于局部性的带复制功能的最少连接
说明:基于局部性的带复制功能的最少连接调度算法也是针对目标IP地址的负载均衡,该算法根据请求的目标IP地址找出该目标IP地 址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除, 以降低复制的程度。
随着网站、应用访问量的增加,一台服务器已经不能满足应用的需求,而需要多台服务器集群,这时就会用到负载均衡
它的好处
负载均衡优化了访问请求在服务器组之间的分配,消除了服务器之间的负载不平衡,从而提高了系统的反应速度与总体性能;
负载均衡可以对服务器的运行状况进行监控,及时发现运行异常的服务器,并将访问请求转移到其它可以正常工作的服务器上,从而提高服务器组的可靠性采用了负均衡器器以后,可以根据业务量的发展情况灵活增加服务器,系统的扩展能力得到提高,同时简化了管理。
1批量选中需要开启负载均衡功能的客户机,然后点击右键=》修改。注:必须有2台或2台以上系统虚拟盘服务器时,才能使用服务器负载均衡功能,而该功能默认开启。2在批量修改客户机界面中的左下角首选服务器下拉框中,可以选择是否进行服务器“自动负载均衡”。选择“”时,客户机即启用了服务器间负载均衡功能。选择具体的某一台服务器时,则不启用自动负载均衡功能。网管、网吧技术员、网吧维护团队赚钱:-------通常采用专业负载均衡设备,此设备通常也可以同时完成全局的负载均衡的工作。Radware提出了实现本地负载均衡机制的解决方案。 WSD本地服务器负载均衡的功能实现 Radware建议通过RadwareWSD实现本地服务器负载均衡解决方案,利用RadwareWSD可以对CDN网中的各个节点中的服务器及缓存服务器提供本地负载均衡服务,为CDN提供不间断服务 WSD可以对本地服务器实现如下智能管理: n 应用状态监控 首先,WSD可靠的状态监控机制可以保证用户获得最佳的服务。WSD可以监视服务器在IP、TCP、UDP、应用和内容等所有协议层上的工作状态。如果发现故障,用户即被透明地重定向到正常工作的服务器上。这可以保证用户始终能够获得他们所期望的信息。 n 交易完整性的可靠保证 为了确保服务正常运行,WSD监控从Web服务器、中间件服务器到后端数据库服务器的整个路径上工作状态,确保整个数据路径上的服务器都处于正常状态。如果存在一个故障服务器,WSD 则不会将用户分配到这个发生故障路径的服务器,从而保证为用户提供透明的数据完整性保障。 n 完全的容错与冗余 WSD的配置提供设备间的完全容错,以确保网络最大的可用性。两个设备通过网络相互检查各自的工作状态,为其所管理的应用保障完全的网络可用性。它们可工作于“主用-备用”模式或“主用-主用”模式,在“主用-主用”模式下,因为两个设备都处于工作状态,从而最大限度地保护了投资。并且所有的信息都可在设备间进行镜像,从而提供透明的冗余和完全的容错,确保在任何时候用户都可以获得从点击到内容的最佳服务。 n 通过正常退出服务保证稳定运行 当需要进行服务器升级或系统维护时,WSD保证稳定的服务器退出服务以避免服务中断。当选定某台服务器要从服务器退出服务后,WSD将不会将任何新的用户分配到该服务器。但是,它可以要退出服务的服务器上完成对当前用户的服务。从而保证了无中断的优质服务,以及服务器组的简易管理能力。 n 智能的服务器服务恢复 将重新启动的服务器应用到服务中时,避免新服务器因突然出现的流量冲击导致系统故障是非常重要的。所以,在将新服务器引入服务器组时,WSD将逐渐地增加分配到该服务器的流量,直至达到其完全的处理能力。从而不仅保证用户在服务器退出服务时,同时还保证服务器在启动期间以及应用程序开始时,均能获得不间断服务。 WSD服务器负载均衡解决方案具有的优点 n 能够支持包括Web、Email、Ftp等所有IP业务的流量管理与负载均衡; n 具有多种负载均衡算法,包括循环法、最小用户数法、最小流量法、基于NT服务器SNMP参数法及用户可定制的私有算法等;并可根据服务器处理能力的不同,定义相应的权重,从而达到流量的均匀分配; n 可根据应用不同创建不同的服务器群(FARM),并可将多个服务器群(FARM)合并为一个SUPERFARM,以一个IP地址标识所有应用,用户可以通过一个地址访问所有应用,如>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)