栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

20220530

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

20220530

本例是懒汉模式
负载均衡器类

import java.util.ArrayList;
import java.util.Random;

class LoadBalancer { 
    
    private static LoadBalancer lbInstance = null;
    
    private ArrayList serverList = null;

    public LoadBalancer() {
        serverList = new ArrayList();
    }

    public static LoadBalancer getLbInst() {
        if (lbInstance == null){
            lbInstance = new LoadBalancer();
        }else {
            return lbInstance;
        }
        return lbInstance;
    }

    public void addServer(String server){
        serverList.add(server);
    }

    public void rmServer(String server){
        serverList.remove(server);
    }

    public String getServer(){
        Random rd = new Random();
        int i = rd.nextInt(serverList.size());
        return (String) serverList.get(i);
    }

}

用户类

class Client {
    public static void main(String[] args) {
        LoadBalancer lb1,lb2,lb3,lb4;
        lb1 = LoadBalancer.getLbInst();
        lb2 = LoadBalancer.getLbInst();
        lb3 = LoadBalancer.getLbInst();
        lb4 = LoadBalancer.getLbInst();

        if (lb1 == lb2 && lb2 == lb3 && lb3 == lb4){
            System.out.println("All them are the same LoadBalancer.");
        }

        lb1.addServer("Server 1");
        lb1.addServer("Server 2");
        lb1.addServer("Server 3");
        lb1.addServer("Server 4");

        for (int i = 0; i < 12; i++) {
            String server = lb1.getServer();
            System.out.println("Distribute task to: "+ server);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/940852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号