更新時間:2022-07-13 10:00:15 來源:動力節點 瀏覽1336次
1.默認配置
Zull默認結合Ribbon負載均衡的實現,Ribbon默認的負載均衡算法是ZoneAvoidanceRule
2.修改算法配置
配置方式和Ribbon的消費者中配置一樣,也可以自定義隨機算法
@Configuration
public class RibbonClientConfig {
@Bean
public IRule getRule() {
return new RandomRule();
}
}
增加熔斷配置,當服務不可用的時候,自動會觸發熔斷
@Component
public class MyZuulFallBack implements FallbackProvider {
private final Logger logger = LoggerFactory.getLogger(MyZuulFallBack.class);
/**
* getRoute方法的返回值就是要監聽的掛掉的微服務名字
* api服務id,如果需要所有調用都支持回退,則return "*"或return null
*
* @return
*/
public String getRoute() {
return "*";
}
public ClientHttpResponse fallbackResponse(String route, Throwable cause) {
logger.info("--> route:{}進行熔斷降級", route);
return new ClientHttpResponse() {
public HttpStatus getStatusCode() throws IOException {
return HttpStatus.OK;
}
public int getRawStatusCode() throws IOException {
return this.getStatusCode().value();
}
public String getStatusText() throws IOException {
return this.getStatusCode().getReasonPhrase();
}
public void close() {
}
public InputStream getBody() throws IOException {
return new ByteArrayInputStream("服務不可用".getBytes());
}
public HttpHeaders getHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
return headers;
}
};
}
}
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習