一、前言 在 『ShutdownHook- Java 优雅停机解决方案』 一文中我们聊到了 Java 实现优雅停机原理。接下来我们就跟根据上面知识点,深入 Dubbo 内部,去了解一下 Dubbo 如何实现优雅停机。 二、Dubbo 优雅停机待解决的问题 为了实现优雅停机,Dubbo 需要解决一些问题: 新的请求不能再发往正在停机的 Dubbo 服务提供者。 若关闭服务提供者,已经接收到服务请求,需要处理完毕才能下线服务。 若关闭服务消费者,已经发出的服务请求,需要等待响应返回。 解决以上三个问题,才能使停机对业务影响降低到最低,做到优雅停机。 三、2.5.X Dubbo 优雅停机在 2.5.X 版本实现比较完整,这个版本的实现相对简单,比较容易理解。所以我们先以 Dubbo 2.5.X 版本源码为基础,先来看一下 Dubbo 如何实现优雅停机。 3.1、优雅停机总体实现方案 优雅停机入口类位于 AbstractConfig 静态代码中,源码如下: static { Runtime.getRuntime().addShutdownHook(new Thread(new Runnab.... 有更新! Dubbo 优雅停机演进之路 Dubbo