springCloud微服务响应:Whitelabe Error Page This application has no explici mapping for/error,so you ar...

关于 springCloud微服务在运行一段时间后请求突然响应:Whitelabe Error Page This application has no explici mapping for/error,so you are seeing this as a fallback.

发现问题:

本周在线上运行的项目突然响应上述错误:我们的项目用的是srpingcloud 项目.在排查的过程中发现zuul网关日志收到请求后频繁报time out,应用的日志显示网关请求业务已经处理成功并返回并无异常.也就是说网关收到请求后将请求转发给应用处理,应用处理完成并已经响应.根据日志响应的时间初步判断:为应用响应过慢导致网关断开服务.

为复现这个问题我们用测试机sleep25000应用 .用ab模拟5个线程发送100笔业务,测试的过程中发现所有的请求进入到应用线程中等待处理.zuul网关超时后也报出了timeout.应用处理完成后成功响应.

检查网关配置的参数发现:ribbon.ConnectTimeout=40000的配置值大于hystrix.command.default.execttion.isolation.thread.timeoutInMilliseconds=20000

解决问题:

根据应用响应时间(20000左右ms)设置hystrix.command.default.execttion.isolation.thread.timeoutInMilliseconds=40000

ribbon.ConnectTimeout=40000

ribbon.ReadTimeout=40000

同时ribbon参数值需介于应用和hystrix.command.default.execttion.isolation.thread.timeoutInMilliseconds 之间

你可能感兴趣的:(springCloud微服务响应:Whitelabe Error Page This application has no explici mapping for/error,so you ar...)