0

在 Spring Cloud 中,我使用 Ribbon 或 Feign 作为客户端 API,并且我们在 Eureka 中注册了一个服务器集群。在我的情况下,我想使用特定的键来确定我要调用哪个服务器,例如:server-A有两个实例,localhost:8001并且localhost:8002我想8001通过设置来调用loadBalancerKeyto 8001,之后我可以编写我的自定义余额规则类来选择我可以像下面这样调用哪个服务器:

public class MyConfigBalanceRule extends ClientConfigEnabledRoundRobinRule {
    @Override
    public Server choose(Object key) {
        List<Server> serverList = getLoadBalancer().getAllServers();
        for (Server srv : serverList) {
            if (srv.getPort == key) {
                return srv;
            }
        }
    }
}
4

0 回答 0