原文:https://blog.csdn.net/qq_15071263/article/details/85276486#1_6
Eureka 中服務下線的幾種方式
1、直接停掉服務
根據默認的策略,如果在一定的時間內,客戶端沒有向注冊中心發送續約請求,那么注冊中心就會將該實例從注冊中心移除,但是有缺陷,因為服務直接停掉后,實例仍然會在注冊中心存在一小段時間,也有可能注冊中心直接認為你的服務down掉,但是實例仍然存在於注冊中心
2、通過注冊中心接口強制下線
通過注冊中心的接口,我們可以強制下線指定的服務
接口請求格式如下
// 注冊中心zone eureka: client: serviceUrl: defaultZone 發送一個delete 請求 http://你的注冊中心zone/apps/你的實例名稱/你的實例地址加端口 // demo http://xxx.xxx.xxx.xxx:8761/eureka/apps/PTC/iZ2rderl3j12llZ:ptc:2703
實例名稱就是Application,地址加端口就是Status的右邊
發送后,服務實例會從注冊中心強制下線,但是此時如果服務仍然在線,則服務自身會通過心跳包向注冊中心再次上線。
3、客戶端主動下線
// 客戶端可以通過如下代碼主動通知注冊中心下線 DiscoveryManager.getInstance().shutdownComponent();