首先,选择1.0是因为方便开发,太方便了。只用编写filter即可完成插件开发。
目前所有的网关不论是apisix还是gateway,都是以插件的方式去支持扩展,zuul1.0也是。
zuul网关分为两种代理
RibbonRoutingFilter
走RibbonRoutingFilter代理的配置方式:
ribbon超时配置
ribbon:
ConnectTimeout: 60000 #请求连接超时时间,单位毫秒,默认是1秒
ReadTimeout: 60000 #请求处理的超时时间 默认是1秒
#重试次数
#同一台实例最大重试次数,不包括首次调用
MaxAutoRetries: 10
#重试服务集群下其余节点(换台服务器访问)最大重试次数,不包括首次调用
MaxAutoRetriesNextServer: 1
# Ribbon 开启重试,设置为false时,只会对get请求进行重试。如果设置为true,便会对所有的请求进行重试
OkToRetryOnAllOperations: true
#总连接数
MaxTotalHttpConnections: 50000
#最大连接数
MaxConnectionsPerHost: 5000
hystrix超时配置
hystrix:
threadpool:
default:
coreSize: 1000 #线程池数量
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 3000000 #发生熔断的超时时间 ms 大于 (1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout
# strategy THREAD: 在单独的线程上执行,并发请求受线程池中的线程数限制
# strategy SEMAPHORE: 在调用线程上执行,并发请求量受信号量计数限制
strategy: SEMAPHORE
semaphore:
max-semaphores: 2000 #信号量大小
SimpleHostRoutingFilter
SimpleHostRoutingFilter超时配置
zuul:
host:
#当配置是URL的时候会生效,两个顺序不能变
connect-timeout-millis: 30000
socket-timeout-millis: 30000