mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2026-04-24 19:38:35 +08:00
[重大更新] 使用 spring 新特性 HttpServiceClient 替代 Dubbo 降低框架使用难度(半成本 数据权限不好使)
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
package org.dromara.common.loadbalance.config;
|
||||
|
||||
import org.springframework.boot.EnvironmentPostProcessor;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
|
||||
/**
|
||||
* dubbo自定义负载均衡配置注入
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
public class CustomEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered {
|
||||
|
||||
@Override
|
||||
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
|
||||
System.setProperty("dubbo.consumer.loadbalance", "customDubboLoadBalancer");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return Ordered.HIGHEST_PRECEDENCE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package org.dromara.common.loadbalance.core;
|
||||
|
||||
import cn.hutool.core.net.NetUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.common.URL;
|
||||
import org.apache.dubbo.rpc.Invocation;
|
||||
import org.apache.dubbo.rpc.Invoker;
|
||||
import org.apache.dubbo.rpc.cluster.loadbalance.AbstractLoadBalance;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
* 自定义 Dubbo 负载均衡算法
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
@Slf4j
|
||||
public class CustomDubboLoadBalancer extends AbstractLoadBalance {
|
||||
|
||||
@Override
|
||||
protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation invocation) {
|
||||
for (Invoker<T> invoker : invokers) {
|
||||
if (NetUtil.localIpv4s().contains(invoker.getUrl().getHost())) {
|
||||
return invoker;
|
||||
}
|
||||
}
|
||||
return invokers.get(ThreadLocalRandom.current().nextInt(invokers.size()));
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
customDubboLoadBalancer=org.dromara.common.loadbalance.core.CustomDubboLoadBalancer
|
||||
@@ -1,2 +0,0 @@
|
||||
org.springframework.boot.env.EnvironmentPostProcessor=\
|
||||
org.dromara.common.loadbalance.config.CustomEnvironmentPostProcessor
|
||||
Reference in New Issue
Block a user