阅 读 文 章

【转】LVS大全

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(bjchenxu) | 时间:2007-05-26 | 浏览:人次 ]



LBLCR调度算法流程
    假设有一组服务器S = {S0, S1, ..., Sn-1},W(Si)表示服务器Si的权值,
C(Si)表示服务器Si的当前连接数。ServerSet[dest_ip]是一个关联变量,表示
目标IP地址所对应的服务器集合,一般来说它是通过Hash表实现的。WLC(S)表示
在集合S中的加权最小连接服务器,即前面的加权最小连接调度;WGC(S)表示在
集合S中的加权最大连接服务器。Now为当前系统时间,lastmod表示集合的最近
修改时间,T为对集合进行调整的设定时间。

if (ServerSet[dest_ip] is NULL) then {
        n = WLC(S);
        if (n is NULL) then return NULL;
        add n into ServerSet[dest_ip];
} else {
        n = WLC(ServerSet[dest_ip]);
        if ((n is NULL) OR
            (n is dead) OR
            (C(n) >; W(n) AND
             there is a node m with C(m) < W(m)/2))) then {
                n = WLC(S);
                if (n is NULL) then return NULL;
                add n into ServerSet[dest_ip];
        } else
        if (|ServerSet[dest_ip]| >; 1 AND
            Now - ServerSet[dest_ip].lastmod >; T) then {
                m = WGC(ServerSet[dest_ip]);
                remove m from ServerSet[dest_ip];
        }
}
ServerSet[dest_ip].lastuse = Now;
if (ServerSet[dest_ip] changed) then
        ServerSet[dest_ip].lastmod = Now;
return n;

    此外,对关联变量ServerSet[dest_ip]也要进行周期性的垃圾回收(Garbage Collection),将过期的目标IP地址到服务器关联项进行回收。过期的关联项是指哪些当前时间(实现时采用系统时钟节拍数jiffies)减去最近使用时间(lastuse)超过设定过期时间的关联项,系统缺省的设定过期时间为24小时。

2.7. 目标地址散列调度
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 大全 服务器 调度 系统 负载 地址 一个 请求 集群 连接

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.