zoukankan      html  css  js  c++  java
  • dubbo异步与一致性hash负载均衡

    一致性hash

    /**
     * 指定方法设置负载均衡
     *
     * @param serviceConfig
     * @author Jamin
     * @date 2020/8/23 18:07
     */
     public static void setLoadbalance(ServiceConfig serviceConfig) {
     serviceConfig.setLoadbalance("consistenthash");
     MethodConfig methodConfig = new MethodConfig();
     methodConfig.setName("getByName");
     Map<String, String> params = new HashMap<>(10);
     params.put("hash.arguments", "0,1");
     params.put("hash.nodes", "200");
     methodConfig.setParameters(params);        serviceConfig.setMethods(Collections.singletonList(methodConfig));
     }
    

    异步

    public static void main(String[] args) throws IOException {
        ApplicationConfig applicationConfig = new ApplicationConfig("client");
        RegistryConfig registryConfig = new RegistryConfig("zookeeper://192.168.150.120:2181");
        ReferenceConfig referenceConfig = new ReferenceConfig();
        referenceConfig.setRegistry(registryConfig);
        referenceConfig.setInterface(UserService.class);
        // referenceConfig.setUrl("dubbo://192.168.21.1:20880/cn.jaminye.base.UserService");
        referenceConfig.setApplication(applicationConfig);
        // referenceConfig.setGroup("jamin");
        setLoadbalance(referenceConfig);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            if (bufferedReader.readLine().equals("quit")) {
                break;
            }
            UserService userService = (UserService) referenceConfig.get();
    
            System.out.println(userService.getByName("测试", "12"));
            System.out.println(userService.getByName("212121212", "313dsdas"));
            System.out.println(userService.getByName("1231asdas", "casdas"));
            System.out.println(userService.getByName("12cacas3344D", "12121213122112"));
            System.out.println(userService.getByName("12312adsd", "dasdas"));
            System.out.println(userService.getByName("测试", "12"));
    
        }
    }
    
    作者: JaminYe
    版权声明:本文原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  • 相关阅读:
    android systembar tabletUI
    linux mv
    修改framework/base下面的api要注意要修改的地方
    git 从远程主服务器当中创建新分支
    修改android framework 添加service
    DUILIB 界面基本知识
    Duilib vlc c++ 字符编码
    android 应用APK使用系统APK
    linux 查找文件内容及文件
    修改android 开机动画
  • 原文地址:https://www.cnblogs.com/JaminYe/p/13584555.html
Copyright © 2011-2022 走看看