需要在@DubboReference注解指定loadbalance属性。示例如下:
package cn.edu.tju.service;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.Date;
@Service
public class RemoteService {
//@DubboReference(loadbalance = "roundrobin")
@DubboReference(loadbalance = "consistenthash")
private DemoService demoService;
public String callRemoteService(){
try {
Thread. sleep(10);
return new Date() + " Receive result ======> " + demoService.sayHello("world");
} catch (InterruptedException e) {
e.printStackTrace();
return e.getMessage();
}
}
}
其中可以使用的值如下:
默认的配置是random