原创 springcloud feign优化配置

server:
port: 8761
servlet:
context-path: /feign
spring:
application:
name: service-feign
sleuth:
web:
client:
enabled: true
sampler:
probability: 1.0 # 将采样比例设置为 1.0,也就是全部都需要。默认是 0.1
zipkin:
base-url: http://localhost:9411/ # 指定了 Zipkin 服务器的地址
feign:
httpclient:#替换掉JDK默认HttpURLConnection实现的 Http Client
enabled: true
hystrix:
enabled: true

management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: always # 访问/actuator/health时,显示详细信息,而不是仅仅显示"status": "UP"
shutdown: true
hystrix:
threadpool:
default:
coreSize: 10
# 最大最大线程池大小
maximumSize: 100
# 此属性允许maximumSize的配置生效。 那么该值可以等于或高于coreSize。 设置coreSize <maximumSize会创建一个线程池,该线程池可以支持maximumSize并发,但在相对不活动期间将向系统返回线程。 (以keepAliveTimeInMinutes为准)
allowMaximumSizeToDivergeFromCoreSize: true
# 请求等待队列
maxQueueSize: 100
# 队列大小拒绝阀值 在还未超过请求等待队列时也会拒绝的大小
queueSizeRejectionThreshold: 100
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 3000
ProductService#decr(JSONObject):
execution:
isolation:
thread:
#因为Feign的请求:其实是Hystrix+Ribbon。Hystrix在最外层,然后再到Ribbon,最后里面的是http请求。所以说。Hystrix的熔断时间必须大于Ribbon的 ( ConnectTimeout + ReadTimeout )。
#而如果Ribbon开启了重试机制,还需要乘以对应的重试次数,保证在Ribbon里的请求还没结束时,Hystrix的熔断时间不会超时
timeoutInMilliseconds: 3000
dashboard:
proxy-stream-allow-list: localhost

ribbon:
OkToRetryOnAllOperations: false #防止put操作重试出现幂等性问题
ServerListRefreshInterval: 2000 #说明:从注册中心刷新服务器列表信息的时间间隔,默认为2000毫秒,即2秒
ConnectTimeout: 2000
ReadTimeout: 3000

posted @ 2021-06-08 11:10  cris's  阅读(406)  评论(0编辑  收藏  举报