码迷,mamicode.com
首页 > 编程语言 > 详细

Nginx IP集群选择算法Java

时间:2014-11-28 09:50:06      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   sp   java   for   div   log   

查看Nginx 源码,将Nginx IP选择算法变为Java:

package com.csst.msm;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int hash =89;//初始值
        int serverNum =2;//服务器个数
        int addrlen=3;//IPV4 只计算前3个字节
        int p;
        
        int[] addr = new int[]{192,168,10,14};
        for(int i=0;i<addrlen;i++){//只计算了前3个字节
            hash = (hash*113+addr[i]) % 6271;
        }
        
        p =hash % serverNum;
        System.out.println("选择的服务器:"+p);
        //权重算法        
        
        int[] weights = new int[]{9,9};
        int total_weight =weights[0]+weights[1];
        int w =hash %total_weight;
        
        int j=0;
        for(j=0;j<serverNum;j++){
            w -= weights[j];
            if(w<0)
                break;
        }
         p = j;
         System.out.println("按权重,选择的服务器:"+p);
        
    }

}

从该代码可以看出,运行这段代码可以看出Nginx根据IP选择服务器的规律。

 

Nginx IP集群选择算法Java

标签:style   blog   ar   color   sp   java   for   div   log   

原文地址:http://www.cnblogs.com/skyblog/p/4127743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!