Spring Cloud Alibaba(七) Sentinel 連接客服端以及服務熔斷

Sentinel連接

POM

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>0.9.0.RELEASE</version>
        </dependency>

配置文件

這裏基於我們把配置註冊到了Nacos上 所以我們去Nacos上修改


spring:
  application:
    name: service-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        encode: utf-8
    # 開啓的Sentinel客服端端口號
    sentinel:
      transport:
        dashboard: localhost:8888
        
#允許使用Nacos上連接Sentinel
feign:
  sentinel:
    enabled: true

server:
  port: 9001

注意了

一定要注意在Nacos上註冊的配置儘量不要用註解,減少報錯可能,我這裏是爲了展示一下

怎麼從Nacos上吧配置加載下來不用我說了吧,應該都懂不懂可以看我之前寫的文章(如果有問題,請告訴一下我= =)

注意: 必須至少請求過一次才能在 Sentinel 控制檯看到對應的服務

我們也儘量將所有的服務都註冊到Sentinel上方便監控管理

服務熔斷和服務降級

編寫熔斷類

@Component
@EnableFeignClients
public class ServiceFallback implements TestService {

    @Override
    public String echo(String string) {
        return "請求失敗,進入服務降級";
    }

    @Override
    public String lb() {
        return "請求失敗,進入服務降級";
    }
}

Service類上加入服務降級註解

@FeignClient(name = "service-provider", fallback = ServiceFallback.class)
@Service
public interface TestService {

    @RequestMapping(value = "test/echo/{string}",method = RequestMethod.GET)
    String echo(@PathVariable("string") String string);

    @GetMapping(value = "test/lb")
    String lb();
}

測試一下

我們關掉服務提供方測試一下會不會走服務降級

在這裏插入圖片描述

成功了,這樣就算基本配置完成了

在這裏插入圖片描述

注意: 如果出現註冊不上Sentinel的情況,可能是因爲配置文件的原因,如果不走服務降級,注意導入的包正不正確

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章