這篇文章主要介紹了Spring Cloud Eureka 服務上下線監控的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
之前我們有介紹通過Spring Boot Admin來檢測服務的上下線,然後進行通知功能。
https://www.jb51.net/article/130943.htm
今天爲大家介紹另外一種實現的方式,在Eureka服務中進行檢測通知,Eureka中提供了事件監聽的方式來支持擴展。
- EurekaInstanceCanceledEvent 服務下線事件
- EurekaInstanceRegisteredEvent 服務註冊事件
- EurekaInstanceRenewedEvent 服務續約事件
- EurekaRegistryAvailableEvent Eureka註冊中心啓動事件
- EurekaServerStartedEvent Eureka Server啓動事件
import com.netflix.appinfo.InstanceInfo; import org.springframework.cloud.netflix.eureka.server.event.*; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; /** * Eureka事件監聽 * * @author yinjihuan * @create 2018-03-09 13:45 **/ @Component public class EurekaStateChangeListener { @EventListener public void listen(EurekaInstanceCanceledEvent event) { System.err.println(event.getServerId() + "\t" + event.getAppName() + " 服務下線"); } @EventListener public void listen(EurekaInstanceRegisteredEvent event) { InstanceInfo instanceInfo = event.getInstanceInfo(); System.err.println(instanceInfo.getAppName() + "進行註冊"); } @EventListener public void listen(EurekaInstanceRenewedEvent event) { System.err.println(event.getServerId() + "\t" + event.getAppName() + " 服務進行續約"); } @EventListener public void listen(EurekaRegistryAvailableEvent event) { System.err.println("註冊中心 啓動"); } @EventListener public void listen(EurekaServerStartedEvent event) { System.err.println("Eureka Server 啓動"); } }
上面只是演示事件的效果,具體在什麼事件中需要做什麼操作,需要發郵件還是發短信,需要大家自己去實現。
注意:在Eureka集羣環境下,每個節點都會觸發事件,這個時候需要控制下發送通知的行爲,不控制的話每個節點都會發送通知。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。