• 18.Hystrix 的常用配置


    server :
             port : 8081
    spring :
            application :
                  name : consumer-user-service
    eureka :
           client :
               service-url :
                      defaultZone : http://localhost:8761/eureka/
               fetch-registry : true
               register-with-eureka : true
         instance :
               instance-id : ${ spring.application.name }:${ server.port }
               prefer-ip-address : true
    feign :
         hystrix :
                enabled : true
    hystrix :    #hystrix 的全局控制
          command :
                default :
                #default 是全局控制,也可以换成单个方法控制,把 default 换成方法名即可
                       fallback :
                                isolation :
                                         semaphore :
                                                maxConcurrentRequests : 1000 # 信号量隔离级别最大并发数
                      circuitBreaker :
                                enabled : true   # 开启断路器
                               requestVolumeThreshold : 3  # 失败次数(阀值)
                               sleepWindowInMilliseconds : 20000  # 窗口时间
                               errorThresholdPercentage : 60    # 失败率
                     execution :
                               isolation :
                                          Strategy : thread # 隔离方式 thread 线程隔离集合和 SEMAPHORE 信号量隔离 级别
                                           thread :
                                                  timeoutInMilliseconds : 3000 # 调用超时时长
    ribbon :
             ReadTimeout : 5000   # 要结合 feign 的底层 ribbon 调用的时长
             ConnectTimeout : 5000
    #隔离方式 两种隔离方式 thread 线程池 按照 group(10 个线程)划分服务提供者,用户请求的线程 和做远程的线程不一样
    # 好处 当 B 服务调用失败了 或者请求 B 服务的量太大了 不会对 C 服务造成影响 用户访问比较大的情 况下使用比较好 异步的方式
    # 缺点 线程间切换开销大,对机器性能影响
    # 应用场景 调用第三方服务 并发量大的情况下
    # SEMAPHORE 信号量隔离 每次请进来 有一个原子计数器 做请求次数的++ 当请求完成以后 --
    # 好处 对 cpu 开销小
    # 缺点 并发请求不易太多 当请求过多 就会拒绝请求 做一个保护机制
    # 场景 使用内部调用 ,并发小的情况下
    # 源码入门 HystrixCommand AbstractCommand
  • 相关阅读:
    react数据管理之setState与Props
    基于java大学生就业信息管理系统
    【Java进阶篇】第四章 异常处理
    国内可用免费AI工具集
    Python、C、C扩展、Cython 差异对比,98%的人都不知道
    NSSCTF做题(7)
    iOS获取当前网络连接状态WiFi、5G、4G、3G、2G
    【IDEA】使用debug方式去运行java程序
    FTP主动模式和被动模式(2)- 防火墙对FTP的影响 ASPF
    代码随想录算法训练营Day 47 || 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III
  • 原文地址:https://blog.csdn.net/weixin_59334478/article/details/127824832