Eureka上的服務是通過心跳檢測注冊到上面,如果stop或者直接kill掉服務的話,Eureka並不能實時的檢測到服務下線,並且如果直接kill還可能殺掉正在處理業務的服務,所以我們要找到一個方法安全下線服務。
一:發送DELETE請求刪除服務
http:// ip:port/eureka/v2/apps/appID/instanceID
這樣能請求eureka刪除實例,不過由於心跳機智,實例過一會就會注冊上去

二:修改實例狀態為OUT_OF_SERVICE
修改狀態后,此實例會處理完當前正在處理的請求,之后就不再接受新的請求。


三:Spring Boot Actuato
1.引入pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.參數配置
#啟用shutdown
endpoints.shutdown.enabled=true
#禁用密碼驗證(正式環境應該要有安全策略)
endpoints.shutdown.sensitive=false
3.請求停止服務(經過測試,服務會在處理完請求之后關閉,但是eureka上的實例並沒有刪除)

參考資料:https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
