Dubbo服务预热

高并发下重启服务,接口调用老是超时,你有什么解决办法

服务预热
服务预热就是服务刚启动的时候需要一段磨合期,这段期间,服务运行状态没有达到最佳。
因此,如果这时候一下子将服务流量提升到正常水平,就有可能导致大量请求超时或者瞬间将系统压垮。
所以,服务刚启动时,需要慢慢增加流量,直到一段时间之后达到阈值上限,让其运行状态达到最佳。

原因
Jaba类加载是按需加载,只有被调用到才会真正的被加载。
还有可能存在一些缓存资源,一开始资源不存在,需要时间加载这些资源。

实现方式
首先获取服务提供者启动时间,然后用服务当前时间减去服务提供者启动时间,计算出服务提供者已运行时间,最后再根据已运行时间动态计算出服务预热过程权重。
简单来说就是服务运行时间越久,权重越高,直到达到正常权重,这时服务预热结束。

猜你喜欢

转载自blog.csdn.net/weixin_43871678/article/details/111796904