設(shè)置屬性ribbon.eureka.enabled = false將明確禁用在Ribbon中使用Eureka。
application.yml
ribbon:
? eureka:
? enabled: false
直接使用Ribbon API
您也可以直接使用LoadBalancerClient。例:
public class MyClass {
? ? @Autowired
? ? private LoadBalancerClient loadBalancer;
? ? public void doStuff() {
? ? ? ? ServiceInstance instance = loadBalancer.choose("stores");
? ? ? ? URI storesUri = URI.create(String.format("http://%s:%s", instance.getHost(), instance.getPort()));
? ? ? ? // ... do something with the URI
? ? }
}
緩存Ribbon配置
每個(gè)Ribbon命名的客戶端都有一個(gè)相應(yīng)的子應(yīng)用程序上下文,Spring Cloud維護(hù),這個(gè)應(yīng)用程序上下文在第一個(gè)請求中被延遲加載到命名的客戶端。可以通過指定Ribbon客戶端的名稱,在啟動(dòng)時(shí),可以更改此延遲加載行為,從而熱切加載這些子應(yīng)用程序上下文。
application.yml
ribbon:
? eager-load:
? ? enabled: true
? ? clients: client1, client2, client3
源碼來源:http://minglisoft.cn/honghu/technology.html
