diff --git a/workspace-gateway/src/main/java/com/aliware/tianchi/UserLoadBalance.java b/workspace-gateway/src/main/java/com/aliware/tianchi/UserLoadBalance.java new file mode 100644 index 0000000000000000000000000000000000000000..954c85eac5ce493d605814b52e45186b9ecdced2 --- /dev/null +++ b/workspace-gateway/src/main/java/com/aliware/tianchi/UserLoadBalance.java @@ -0,0 +1,22 @@ +package com.aliware.tianchi; + +import org.apache.dubbo.common.URL; +import org.apache.dubbo.rpc.Invocation; +import org.apache.dubbo.rpc.Invoker; +import org.apache.dubbo.rpc.RpcException; +import org.apache.dubbo.rpc.cluster.LoadBalance; + +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +/** + * @author daofeng.xjf + */ +public class UserLoadBalance implements LoadBalance { + + @Override + public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException { + System.out.println("use user loadbalance"); + return invokers.get(ThreadLocalRandom.current().nextInt(invokers.size())); + } +} diff --git a/workspace-gateway/src/main/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance b/workspace-gateway/src/main/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance new file mode 100644 index 0000000000000000000000000000000000000000..7276c7dd5c39b01b6ae87a64d5d97c5c309e07ba --- /dev/null +++ b/workspace-gateway/src/main/resources/META-INF/services/org.apache.dubbo.rpc.cluster.LoadBalance @@ -0,0 +1 @@ +com.aliware.tianchi.UserLoadBalance \ No newline at end of file