Eureka相关

  1. # 配置服务实例地址
  2. eureka.instance.hostname
  3. # 服务提供者的心跳续约(默认每隔30秒发送一次心跳)
  4. eureka.instance.lease-renewal-interval-in-seconds=30
  5. # 超过指定时间(默认90秒)没有发送心跳,可以认为服务提供者失效
  6. eureka.instance.lease-expiration-duration-in-seconds=90
  7. # eureka-server定时检查服务提供者的心跳续约情况,默认60秒
  8. eureka.server.eviction-interval-timer-in-ms=60000
  9. # eureka-server开启自我保护机制,默认为true,当出现大量服务没有发送心跳时,不会剔除服务
  10. eureka.server.enable-self-preservation=true
  11. # 定时对readOnly缓存和readWrite缓存的同步时间(毫秒级)
  12. eureka.server.response-cache-update-interval-ms=3000
  13. # 只读缓存关闭
  14. eureka.server.use-read-only-response-cache=false
  15. # eureka-client客户端配置eureka-server地址
  16. eureka.client.serviceUrl.defaultZone=http://eureka-server.hostname:eureka-server.port
  17. # client是否注册到eureka中
  18. eureka.client.register-with-eureka=true
  19. # client是否从eureka拉取注册信息
  20. eureka.client.fetch-registy=true
  21. # 服务消费者每隔一段时间拉取eureka注册表信息(默认30秒)
  22. eureka.client.registry-fetch-interval-in-seconds=30

优化服务发现响应

  1. # 服务提供者
  2. eureka:
  3. instance:
  4. # 服务提供者续租发送心跳间隔减少
  5. lease-renewal-interval-in-seconds: 15
  6. # 超过规定时间没有发送心跳,服务提供者失效
  7. lease-expiration-duration-in-seconds: 60
  8. # 服务消费者
  9. eureka:
  10. client:
  11. # 服务消费者拉取注册中心的注册表信息的时间间隔
  12. registry-fetch-interval-in-seconds: 15
  13. eureka:
  14. server:
  15. # 注册中心定时检查服务提供者的心跳信息
  16. evication-interval-timer-ms: 15
  17. # 定时同步readWrite缓存数据到readOnly缓存
  18. response-cache-update-interval-in-ms: 15
  19. # 或者关闭readOnly一级缓存
  20. use-read-only-response-cache: false

Ribbon相关

  1. # 针对单个服务的ribbon配置,如果是全局配置,删除 sys-deviceminprogram即可
  2. sys-deviceminprogram: # 服务名称
  3. ribbon:
  4. # 请求连接超时时间
  5. ConnectTimeout: 2000
  6. # 请求处理超时时间
  7. ReadTimeout: 5000
  8. # 对所有操作都进行重试
  9. OkToRetryOnAllOperations: true
  10. ## 根据上面的配置,当访问到故障请求的时候,会再尝试访问一次当前实例(次数由MaxAutoRetries配置)
  11. ## 如果不行,就切换另外一个实例访问,再不行,就再切换实例(更换次数由MaxAutoRetriesNextServer配置)
  12. ## 依然不行,就返回失败信息
  13. # 对当前选中的实例的重试次数,不包括第一次调用
  14. MaxAutoRetries: 1
  15. # 切换实例的重试次数
  16. MaxAutoRetriesNextServer: 0
  17. # 修改指定服务的负载均衡策略
  18. NFloadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

Hystrix相关

  1. hystrix:
  2. command:
  3. default:
  4. circuitBreaker:
  5. # 强制打开熔断器,属性设置为true,拒绝所有请求。默认为false
  6. foreOpen: false
  7. # 触发熔断错误比例阈值,默认50%
  8. errorThresholdPercentage: 50
  9. # 熔断触发的最小请求次数,默认20次
  10. requestVolumeThreshold: 2
  11. # 熔断后的休眠时间,默认是5秒
  12. sleepWindowInMilliseconds: 3000
  13. execution:
  14. isolation:
  15. thread:
  16. # 熔断超时设置,默认1秒
  17. timeoutInMillsecods: 2000
  18. management:
  19. # 暴露健康检查端口
  20. endpoints:
  21. web:
  22. exposure:
  23. include: "*"
  24. # 暴露健康接口的细节
  25. enpoint:
  26. health:
  27. show-details: always

Feign相关

  1. # 对熔断器的支持
  2. feign:
  3. hystrix:
  4. enabled: true
  5. feign:
  6. comparession:
  7. request:
  8. enabled: true # 开启请求压缩
  9. mine-types: text/html.application/xml,application/json # 设置压缩的数据类型,此处是默认值
  10. min-request-size: 2048 # 设置触发压缩的大小下限,此处是默认值
  11. response:
  12. enabled: true # 开启响应压缩
  13. logging:
  14. level:
  15. # Fegin日志只会对日志级别为debug的做出响应
  16. com.xxx.xxx.controller.service.TestServiceFeignClient: debug

Gateway相关

  1. # 路由规则配置
  2. spring:
  3. cloud:
  4. gateway:
  5. routes:
  6. # 自定义路由ID,保持唯一
  7. - id: service-deviceminprogram-router
  8. # 目标服务地址
  9. # uri: http://127.0.0.1:9001
  10. # 动态路由,从注册中心获取服务,sys-deviceminprogram为服务名称
  11. uri: lb://sys-deviceminprogram
  12. # gateway网关从服务注册中心获取实例信息然后敷在后路由
  13. # 断言:路由条件,接收一个输入参数,返回一个布尔值结果
  14. predicates:
  15. - Path: /api/unlock/**
  16. filters:
  17. # 可以去掉api之后转发(去掉uri的第一个路径)
  18. # http://127.0.0.1:9001/api/unlock/test -> http://127.0.0.1:9001/unlock/test
  19. - StripPrefix=1

Spring Cloud Config相关

  1. spring:
  2. cloud:
  3. config:
  4. server:
  5. git:
  6. uri: https://github.com/xxx/test-config-repo.git # 配置git服务地址
  7. username: 296581238@qq.com # 配置git用户名
  8. password: huangxxxx123 # 配置git密码
  9. search-paths:
  10. - test-config-repo
  11. # 读取分支
  12. label: master

注解相关

  1. @EnableEurekaServer
  2. @EnableDiscoverClient # 服务注册客户端
  3. @EnableEurekaClient # eureka-client
  4. @EnableCircuitBreaker # 开启断路器
  5. @EnableConfigServer # 开启配置中心
  6. @LoadBalanced # 开启Ribbon的负载均衡

相关依赖包