一致性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"));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。