这里是LVS集群项目的中文社区。欢迎大家在这里讨论和交流LVS集群的安装、使用、维护与开发,以及相关技术,帮助完善LVS的中文文档。也欢迎您在这里建立您的博客!

使用什么调度算法实现对web session的支持

您好:
我使用lvs技术搭建了一套web集群系统,我想实现对session的支持。
现在我使用lblc调度算法,但是有个问题,现在所有的请求都被调度到同一台real server上了,而另外的其它机器均处于空闲状态,没有任何的请求处理。
请问,我改如何改进。

Forums:

太高兴了

前两天看到这个论坛太高兴了.同时也很感谢章老师的大力支持

虽然现在还没什么人气,只要大家大力支持,一定会火起来的.

同时,集群技术,也定会越来越多的应用的.

我目前也在研究lvs,遇到的问题还是挺多的.

希望有更多的人,参与进来,一起研究和讨论

Forums:

章文嵩老师:我想了解IP隧道技术的实现方式,请指点

您好,我最近在接触一个负载均衡的项目。翻阅了不少关于LVS的资料。
由于以前没有接触过集群这些知识,项目主要负责WEB代理和一些FTP、邮件代理
不知道用哪种方式比较好
另:我对IP隧道技术很感兴趣,一时不知道看哪些参考资料,请给指点一下。
如果以后想参与到LVS的维护之类的工作的话,应该怎么做。
我对集群技术很感兴趣,就是一直找不到做该方面的人来带,自己学的话都要哪些知识,请不吝赐教。

Forums:

动态反馈负载均衡算法

动态反馈负载均衡算法考虑服务器的实时负载和响应情况,不断调整服务器间处理请求的比例,来避免有些服务器超载时依然收到大量请求,从而提高整个系统的吞吐率。图4.1显示了该算法的工作环境,在负载调度器上运行Monitor Daemon进程,Monitor Daemon来监视和收集各个服务器的负载信息。Monitor Daemon可根据多个负载信息算出一个综合负载值。Monitor Daemon将各个服务器的综合负载值和当前权值算出一组新的权值,若新权值和当前权值的差值大于设定的阀值,Monitor Daemon将该服务器的权值设置到内核中的IPVS调度中,而在内核中连接调度一般采用加权轮叫调度算法或者加权最小连接调度算法。

内核中的连接调度算法

IPVS在内核中的负载均衡调度是以连接为粒度的。在HTTP协议(非持久)中,每个对象从WEB服务器上获取都需要建立一个TCP连接,同一用户的不同请求会被调度到不同的服务器上,所以这种细粒度的调度在一定程度上可以避免单个用户访问的突发性引起服务器间的负载不平衡。

在内核中的连接调度算法上,IPVS已实现了以下十种调度算法:

  • 轮叫调度(Round-Robin Scheduling)
  • 加权轮叫调度(Weighted Round-Robin Scheduling)
  • 最小连接调度(Least-Connection Scheduling)

通过直接路由实现虚拟服务器(VS/DR)

跟VS/TUN方法相同,VS/DR利用大多数Internet服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。该方法与IBM的NetDispatcher产品中使用的方法类似,但IBM的NetDispatcher是非常昂贵的商品化产品,我们也不知道它内部所使用的机制,其中有些是IBM的专利。

通过IP隧道实现虚拟服务器(VS/TUN)

在VS/NAT的集群系统中,请求和响应的数据报文都需要通过负载调度器,当真实服务器的数目在10台和20台之间时,负载调度器将成为整个集群系统的新瓶颈。大多数Internet服务都有这样的特点:请求报文较短而响应报文往往包含大量的数据。如果能将请求和响应分开处理,即在负载调度器中只负责调度请求而响应直接返回给客户,将极大地提高整个集群系统的吞吐量。

IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址。

通过NAT实现虚拟服务器(VS/NAT)

由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用保留IP地址(10.0.0.0/255.0.0.0、172.16.0.0/255.128.0.0和192.168.0.0/255.255.0.0)[64, 65, 66]。这些地址不在Internet上使用,而是专门为内部网络预留的。当内部网络中的主机要访问Internet或被Internet访问时,就需要采用网络地址转换(Network Address Translation, 以下简称NAT),将内部地址转化为Internets上可用的外部地址。NAT的工作原理是报文头(目标地址、源地址和端口等)被正确改写后,客户相信它们连接一个IP地址,而不同IP地址的服务器组也认为它们是与客户直接相连的。由此,可以用NAT方法将不同IP地址的并行网络服务变成在一个IP地址上的一个虚拟服务。

IP负载均衡技术

上一章节讲述了可伸缩网络服务的几种结构,它们都需要一个前端调度器。在调度器的实现技术中,IP负载均衡技术是效率最高的。在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation),大多数商品化的IP负载均衡调度器产品都是使用此方法,如Cisco的LocalDirector、F5的Big/IP和Alteon的ACEDirector。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的方法VS/TUN(Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。

服务器集群间的负载均衡

通过BGP插入路由信息的方法可以使得用户访问邻近的服务器集群,但是用户访问存在突发性,在某个区域的访问高峰可能会导致该区域的服务器集群系统超载,而其他服务器集群系统可能处于低负载状态,这时与其将请求在超载系统上排队等候,不如将请求送到远处的低负载系统上执行,可以提高响应速度。例如,中国用户在白天时间的一段访问高峰使得在中国的镜像服务器集群系统超载,而此时美国是晚上时间其镜像服务器集群系统处于低负载状态。

页面

Subscribe to LVS中文站点 RSS
randomness