微服务设计指导-hystrix参数介绍
Posted TGITCIC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务设计指导-hystrix参数介绍相关的知识,希望对你有一定的参考价值。
连接nacos的配置
# nacos 服务地址
spring.cloud.nacos.discovery.server-addr=$nacos-server-addr
# 注册到nacos上的命名空间
spring.cloud.nacos.discovery.namespace=$nacos-namespace
# 注册到nacos上的服务名称 poolName
spring.cloud.nacos.discovery.service=back-finance-web
# nacos用户名
spring.cloud.nacos.discovery.username=$nacos-server-username
# nacos 密码
spring.cloud.nacos.discovery.password=$nacos-server-password
饿加载的配置 Feign的默认配置
# 开启饥饿加载
ribbon.eager-load.enabled=true
#需要调用的服务端 多个用逗号,隔开
ribbon.eager-load.clients=promotion-cloud-business
#设置feign的配置 使用okHttp
feign.okhttp.enabled=true
feign.httpclient.enabled=false
# 开启压缩
feign.compression.request.enabled=true
feign.compression.response.enabled=true
feign.compression.request.mime-types=text/xml,application/xml,application/json
feign.compression.request.min-request-size=2048
#设置feign的连接超时时间和读超时时间
feign.client.config.default.connect-timeout=10000
feign.client.config.default.read-timeout=15000
hystrix的配置
为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制就没有任何意义了
#开启熔断 断路器打开表示熔断 断路器关闭表示连通
feign.hystrix.enabled=true
# 断路器等待窗口时间 默认5000 建议保持默认值 #当断路器打开拒绝请求的时间,该时间段内服务不可访问
hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds=5000
# 断路器请求量阈值 默认20 建议保持默认值,如果部分接口不能容忍默认阈值可以单独配置 #在滑动窗口时间内,打开断路器的最小请求量
hystrix.command.default.circuitBreaker.requestVolumeThreshold=20
# 断路器错误百分比阈值 默认50 建议保持默认值 #当请求超过阈值20并且 50%以上的错率 就会打开断路器
hystrix.command.default.circuitBreaker.errorThresholdPercentage=50
# 是否允许超时 默认true
hystrix.command.default.execution.timeout.enabled=true
#超时最大上限 默认1000 保持选用默认值 #当最大超时为true , 超过这个时间将会被降级
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000
# 滑动窗口持续时间 默认10000 建议保持默认值 #熔断的统计时间周期
hystrix.command.default.metrics.rollingStats.timeInMilliseconds=10000
# 最大并发降级请求处理上限 默认值10 当并发降级超过该数会抛异常,但不是降级的异常
hystrix.command.default.fallback.isolation.semaphore.maxConcurrentRequests=500
# 核心线程数 默认10
hystrix.threadpool.default.coreSize=10
# 最大线程数 默认10
hystrix.threadpool.default.maximumSize=500
# 是否允许最大线程数生效 默认false
hystrix.threadpool.default.allowMaximumSizeToDivergeFromCoreSize=true
# 非核心线程存活时间 allowMaximumSizeToDivergeFromCoreSize为true并且maximumSize大于coreSize时此配置才生效 默认1
hystrix.threadpool.default.keepAliveTimeMinutes=1
# 最大任务队列容量 -1时使用的是SynchronousQueue,配置为大于1的整数时使用的是LinkedBlockingQueue
hystrix.threadpool.default.maxQueueSize=5000
# 任务拒绝的任务队列阈值 默认5 maxQueueSize>1 才生效
hystrix.threadpool.default.queueSizeRejectionThreshold=2000
以上是关于微服务设计指导-hystrix参数介绍的主要内容,如果未能解决你的问题,请参考以下文章
微服务设计指导-使用turbine结合nacos监控多集群hystrix