最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud災難性雪崩效應處理方法之降級實現(xiàn)流程詳解

 更新時間:2022年11月29日 16:08:21   作者:小蝦仁蕪湖  
這篇文章主要介紹了SpringCloud災難性雪崩效應處理方法之降級,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧<BR>

一.前言

解決服務雪崩效應,都是避免application client請求application service時,出現(xiàn)服務調用錯誤或網(wǎng)絡問題。處理手法都是在application client中實現(xiàn)。我們需要在application client相關工程中導入hystrix依賴信息。并在對應的啟動類上增加新的注解@EnableCircuitBreaker,這個注解是用于開啟hystrix熔斷器的,簡言之,就是讓代碼中的hystrix相關注解生效。

二.代碼實現(xiàn)

1.新建ApplicationServiceDemo

1.1配置pom.xml

需要web和eureka-client

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
</parent>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
</dependencies>

1.2新建配置文件

spring:
  application:
    name: application-service-demo
eureka:
  client:
    service-url:
      defaultZone: http://eurekaserver1:8761/eureka/

1.3新建控制器

@Controller
public class DemoController {
    @RequestMapping("/demo")
    @ResponseBody
    public String demo(){
        return "demo-service";
    }
}

1.4新建啟動類

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class,args);
    }
}

2.新建DemoFallback

新建項目DemoFallback作為Application Client

2.1編寫pom.xml

需要配置web,eureka-client,netflix-hystrix

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
</parent>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    </dependency>
</dependencies>

2.2新建配置文件

spring:
  application:
    name: fallback-demo
eureka:
  client:
    service-url:
      defaultZone: http://eurekaserver1:8761/eureka/
server:
  port: 8081

2.3新建配置類

@Configuration
public class RibbonConfig {
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

2.4新建service及實現(xiàn)類

public interface DemoService {
    String test();
}
@Service
public class DemoServiceImpl implements DemoService {
    @Autowired
    private RestTemplate restTemplate;
    @HystrixCommand(fallbackMethod = "myFallback")
    @Override
    public String test() {
        String result = restTemplate.postForObject("http://application-service-demo/demo", null, String.class);
        System.out.println(result);
        return result;
    }
    public String myFallback(){
        return "托底數(shù)據(jù)";
    }
}

2.5新建控制器

@Controller
public class FallbackController {
    @Autowired
    private DemoService demoService;
    @RequestMapping("/demo")
    @ResponseBody
    public String demo(){
        return demoService.test();
    }
}

2.6新建啟動類

@SpringBootApplication
@EnableCircuitBreaker
public class ApplicationClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationclientdemoApplication.class, args);
    }
}

2.7訪問

在瀏覽器輸入http://localhost:8081/demo

3.測試降級

停止ApplicationServiceDemo項目。再次訪問

到此這篇關于SpringCloud災難性雪崩效應處理方法之降級實現(xiàn)流程詳解的文章就介紹到這了,更多相關SpringCloud降級內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用IntelliJ IDEA調式Stream流的方法步驟

    使用IntelliJ IDEA調式Stream流的方法步驟

    本文主要介紹了使用IntelliJ IDEA調式Stream流的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • mybatis中使用InsertProvider注解報錯解決全過程

    mybatis中使用InsertProvider注解報錯解決全過程

    這篇文章主要介紹了mybatis中使用InsertProvider注解報錯解決全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java中Stream流去除List重復元素的方法

    Java中Stream流去除List重復元素的方法

    這篇文章主要為大家詳細介紹了Java中Stream流去除List重復元素的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Dubbo擴展點SPI實踐示例解析

    Dubbo擴展點SPI實踐示例解析

    這篇文章主要為大家介紹了Dubbo擴展點SPI實踐示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Spring中的refreshContext源碼分析

    Spring中的refreshContext源碼分析

    這篇文章主要介紹了Spring中的refreshContext源碼分析,在SpringBoot啟動流程中,主要的兩個階段是初始化SpringApplication對象以及SpringApplication.run方法執(zhí)行的內容,今天主要細講的是SpringApplication.run中的刷新容器refreshContext方法,需要的朋友可以參考下
    2023-12-12
  • java使用google身份驗證器實現(xiàn)動態(tài)口令驗證的示例

    java使用google身份驗證器實現(xiàn)動態(tài)口令驗證的示例

    本篇文章主要介紹了java使用google身份驗證器實現(xiàn)動態(tài)口令驗證的示例,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Json轉化為Java對象的實例詳解

    Json轉化為Java對象的實例詳解

    這篇文章主要介紹了Json轉化為Java對象的實例詳解的相關資料,前后端數(shù)據(jù)交互的情況經(jīng)常會遇到Json串與java 對象的相互轉換方便操作,需要的朋友可以參考下
    2017-08-08
  • 使用spring-data-redis中的Redis事務

    使用spring-data-redis中的Redis事務

    這篇文章主要介紹了使用spring-data-redis中的Redis事務,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 你必須得會的SpringBoot全局統(tǒng)一處理異常詳解

    你必須得會的SpringBoot全局統(tǒng)一處理異常詳解

    程序在運行的過程中,不可避免會產(chǎn)生各種各樣的錯誤,這個時候就需要進行異常處理,本文主要為大家介紹了SpringBoot實現(xiàn)全局統(tǒng)一處理異常的方法,需要的可以參考一下
    2023-06-06
  • 圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解

    圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解

    這篇文章主要介紹了圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論

祥云县| 禄丰县| 西盟| 鹤峰县| 西畴县| 融水| 新乡市| 慈溪市| 宁陕县| 纳雍县| 怀远县| 昭觉县| 弥渡县| 三原县| 高阳县| 墨江| 元朗区| 泰兴市| 龙门县| 荥经县| 浪卡子县| 日照市| 林州市| 开原市| 永仁县| 瑞昌市| 夹江县| 石城县| 丹阳市| 元氏县| 长葛市| 吐鲁番市| 通海县| 通河县| 汝南县| 五原县| 驻马店市| 万荣县| 泰和县| 水城县| 招远市|