文章预览
系统采用微服务开发后每个服务职责更加单一、清晰,更容易开发维护和迭代,但也带来了一些管理上的困难,例如本篇要讨论的服务优雅下线。 服务下线通常是在我们发版更新的时候,简单的下线很容易理解,只要把服务干掉就行了。但现实中要考虑的问题比较多,例如下线过程其它服务还调用它就报错了,下线过程如果还有定时任务在执行耗时逻辑也可能会报错,强制下线还可能导致数据不一致等问题。 那么什么是服务优雅下线呢?服务优雅下线要实现的是下线过程不对系统产生影响,包括调用方报错,下线时服务报错,数据出现异常等。 前提 要做到服务优雅下线至少要部署两个或以上服务实例,只有一个实例,在下线过程中一定会停止对外服务,有请求就一定会报错。如果有多个实例,就可以滚动的下线上线,一个实例下线过程中还有其
………………………………