zoukankan      html  css  js  c++  java
  • SpringCloud服务降级案列

    服务降级

    什么是服务降级

    所有的RPC技术里面服务降级是一个最为重要的话题,所谓的降级指的是当服务的提供方不可使用的时候,程序不会出现异常,而会出现本地的操作调

    服务降级案例

    1、目录展示

     2、导入依赖

     <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
    
            <!--eureka依赖-->
            <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.gson</groupId>
                        <artifactId>gson</artifactId>
                    </exclusion>
                </exclusions>
        </dependency>
    
            <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.gson</groupId>
                        <artifactId>gson</artifactId>
                    </exclusion>
                </exclusions>
        </dependency>
    
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-hystrix</artifactId>
                <version>1.2.3.RELEASE</version>
            </dependency>
        </dependencies>
    
    
        <dependencyManagement>
        <dependencies>
        <!--springCloud依赖-->
        <dependency>
    
        <groupId>org.springframework.cloud</groupId>
    
        <artifactId>spring-cloud-dependencies</artifactId>
    
        <version>Greenwich.RELEASE</version>
    
        <type>pom</type>
    
        <scope>import</scope>
    
    </dependency>
    
    </dependencies>
    
    </dependencyManagement>
    View Code

    3、application.yml配置文件

    ##应用名称
    spring:
      application:
        name: order-service
    ##端口号
    server:
      port: 9002
      ##设置Tomcat最大线程数
      tomcat:
        max-threads: 50
    ##注册到注册中心当中去,指定注册中心地址
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8001/eureka
    ##配置ribbon读取时间
    ribbon:
      ReadTimeout: 15000
      ConnectTimeout: 15000
    ##开启断路器
    ##feign:
      ##hystrix:
        ##enabled: true
    ##因为我们在members服务中线程休眠3s,服务调用默认超过1s当做调用失败,那么就会执行服务降级的类,我们可以配置服务响应时间
    hystrix:
      command:
        default:
          execution:
            isolation:
              thread:
                timeoutInMilliseconds: 4000
    View Code

    4、MemberService

     5、MemberServiceFallBack

     6、controller

     7、启动类StartSpringCloudOrder

     效果展示

    使用雪崩测试器,模拟雪崩场景

        当访问页面路径时,便不会出现等待加载的状况,从而返回服务降级

      

     

  • 相关阅读:
    软件创意——汽车语音安全系统
    对系统管理岗位的理解。
    求二维数组最大子数组的和。郭林林&胡潇丹
    电梯调度 结对项目开发(郭林林&胡潇丹)
    电梯调度 结对项目开发
    电梯调度 结对项目开发
    电梯调度的设计与实现过程(李帅 张硕)
    敏捷软件方法综述
    二维数组的子数组和最大问题(李帅 张硕)
    求数组子数组和的最大值 (线性算法)
  • 原文地址:https://www.cnblogs.com/mayuan01/p/12077385.html
Copyright © 2011-2022 走看看