167 lines
5.6 KiB
YAML
167 lines
5.6 KiB
YAML
|
|
server:
|
|||
|
|
address : ":8000"
|
|||
|
|
name: "gateway"
|
|||
|
|
rate:
|
|||
|
|
limit: 800
|
|||
|
|
burst: 2000
|
|||
|
|
# IP限流配置
|
|||
|
|
ip:
|
|||
|
|
limit: 100 # IP限流: 100 req/s
|
|||
|
|
burst: 200 # IP突发: 200
|
|||
|
|
# 用户限流配置
|
|||
|
|
user:
|
|||
|
|
limit: 50 # 已登录用户: 50 req/s
|
|||
|
|
burst: 100 # 已登录用户突发: 100
|
|||
|
|
# 服务维度限流配置
|
|||
|
|
services:
|
|||
|
|
# 高频业务服务 - 需要更高配置
|
|||
|
|
customerService:
|
|||
|
|
limit: 500 # 客服服务: 500 req/s (高频对话)
|
|||
|
|
burst: 700 # 突发: 700
|
|||
|
|
order:
|
|||
|
|
limit: 450 # 订单服务: 450 req/s (高频交易)
|
|||
|
|
burst: 600 # 突发: 600
|
|||
|
|
assets:
|
|||
|
|
limit: 400 # 资产服务: 400 req/s (高频访问)
|
|||
|
|
burst: 600 # 突发: 600 (有Stream削峰)
|
|||
|
|
cid:
|
|||
|
|
limit: 350 # 证书服务: 350 req/s (高频证书请求)
|
|||
|
|
burst: 500 # 突发: 500
|
|||
|
|
|
|||
|
|
# 中频基础服务
|
|||
|
|
oss:
|
|||
|
|
limit: 300 # 文件服务: 300 req/s (通用文件上传,可能被多个服务调用)
|
|||
|
|
burst: 450 # 突发: 450
|
|||
|
|
|
|||
|
|
# 低频业务服务
|
|||
|
|
wallet:
|
|||
|
|
limit: 120 # 钱包服务: 120 req/s (低频转账)
|
|||
|
|
burst: 200 # 突发: 200
|
|||
|
|
market:
|
|||
|
|
limit: 100 # 市场服务: 100 req/s (低频交易)
|
|||
|
|
burst: 180 # 突发: 180
|
|||
|
|
knapsack:
|
|||
|
|
limit: 80 # 背包服务: 80 req/s (低频功能)
|
|||
|
|
burst: 150 # 突发: 150
|
|||
|
|
|
|||
|
|
# 熔断器配置 - 每个服务独立配置
|
|||
|
|
circuitBreaker:
|
|||
|
|
# 高频业务服务 - 更严格的熔断策略
|
|||
|
|
customerService:
|
|||
|
|
enabled: true # 是否启用熔断器
|
|||
|
|
maxFailures: 5 # 连续失败5次触发熔断
|
|||
|
|
timeout: 30s # 30秒后尝试恢复
|
|||
|
|
successStatusCodes: 200,201,204 # 视为成功的HTTP状态码
|
|||
|
|
slowRequestThreshold: 3s # 慢请求阈值(超过此时间视为失败)
|
|||
|
|
enableSlidingWindow: true # 是否启用滑动窗口
|
|||
|
|
failureRateThreshold: 0.5 # 失败率阈值(0.0-1.0)
|
|||
|
|
enableFallback: false # 是否启用降级
|
|||
|
|
fallbackMessage: "" # 降级提示消息
|
|||
|
|
requestTimeout: 30000 # 请求超时时间(毫秒),0表示不设置
|
|||
|
|
distributedTTL: 300 # 分布式熔断状态TTL(秒),0表示不启用分布式熔断
|
|||
|
|
statIntervalMs: 1000 # 统计窗口时长(毫秒),默认1000ms
|
|||
|
|
minRequestAmount: 5 # 最小请求数量,默认与maxFailures相同
|
|||
|
|
order:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 3 # 订单服务更敏感
|
|||
|
|
timeout: 60s # 60秒后尝试恢复
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 2s # 订单服务要求更快的响应
|
|||
|
|
enableSlidingWindow: true
|
|||
|
|
failureRateThreshold: 0.6 # 订单服务对失败率更敏感
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 300
|
|||
|
|
assets:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 10 # 资产服务更宽松
|
|||
|
|
timeout: 60s
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 5s # 资产服务可能较慢,给更多时间
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 0
|
|||
|
|
cid:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 8
|
|||
|
|
timeout: 45s
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 3s
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 0
|
|||
|
|
|
|||
|
|
# 中频基础服务
|
|||
|
|
oss:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 15
|
|||
|
|
timeout: 120s
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 10s # 文件上传可能较慢
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 60000 # 文件服务可能需要更长时间
|
|||
|
|
distributedTTL: 0
|
|||
|
|
|
|||
|
|
# 低频业务服务 - 最宽松的熔断策略
|
|||
|
|
wallet:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 5
|
|||
|
|
timeout: 120s # 2分钟
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 5s
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: true # 启用降级
|
|||
|
|
fallbackMessage: "钱包服务暂时繁忙,请稍后再试" # 降级提示消息
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 300 # 钱包服务启用分布式熔断
|
|||
|
|
adminIPs: "127.0.0.1,192.168.0.169" # 允许重置熔断器的管理员IP列表(逗号分隔)
|
|||
|
|
market:
|
|||
|
|
enabled: true
|
|||
|
|
maxFailures: 5
|
|||
|
|
timeout: 90s
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 3s
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 0
|
|||
|
|
knapsack:
|
|||
|
|
enabled: false # 背包服务暂时不启用熔断
|
|||
|
|
maxFailures: 5
|
|||
|
|
timeout: 90s
|
|||
|
|
successStatusCodes: 200,201,204
|
|||
|
|
slowRequestThreshold: 3s
|
|||
|
|
enableSlidingWindow: false
|
|||
|
|
enableFallback: false
|
|||
|
|
fallbackMessage: ""
|
|||
|
|
requestTimeout: 30000
|
|||
|
|
distributedTTL: 0
|
|||
|
|
|
|||
|
|
redis:
|
|||
|
|
# 集群模式配置方法
|
|||
|
|
default:
|
|||
|
|
address: 192.168.0.169:6379
|
|||
|
|
db: 0
|
|||
|
|
idleTimeout: "60s" #连接最大空闲时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
maxConnLifetime: "90s" #连接最长存活时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
waitTimeout: "60s" #等待连接池连接的超时时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
dialTimeout: "30s" #TCP连接的超时时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
readTimeout: "30s" #TCP的Read操作超时时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
writeTimeout: "30s" #TCP的Write操作超时时间,使用时间字符串例如30s/1m/1d
|
|||
|
|
maxActive: 100
|
|||
|
|
consul:
|
|||
|
|
address: 192.168.0.169:8500
|
|||
|
|
services:
|
|||
|
|
- name: customerService
|
|||
|
|
- name: test111
|
|||
|
|
jaeger: #链路追踪
|
|||
|
|
addr: 192.168.0.169:4318
|