Spring Cloud Eureka 服務上下線監(jiān)控的實現(xiàn)
之前我們有介紹通過Spring Boot Admin來檢測服務的上下線,然后進行通知功能。
http://www.dbjr.com.cn/article/130943.htm
今天為大家介紹另外一種實現(xiàn)的方式,在Eureka服務中進行檢測通知,Eureka中提供了事件監(jiān)聽的方式來支持擴展。
- EurekaInstanceCanceledEvent 服務下線事件
- EurekaInstanceRegisteredEvent 服務注冊事件
- EurekaInstanceRenewedEvent 服務續(xù)約事件
- 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事件監(jiān)聽 * * @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() + " 服務進行續(xù)約"); } @EventListener public void listen(EurekaRegistryAvailableEvent event) { System.err.println("注冊中心 啟動"); } @EventListener public void listen(EurekaServerStartedEvent event) { System.err.println("Eureka Server 啟動"); } }
上面只是演示事件的效果,具體在什么事件中需要做什么操作,需要發(fā)郵件還是發(fā)短信,需要大家自己去實現(xiàn)。
注意:在Eureka集群環(huán)境下,每個節(jié)點都會觸發(fā)事件,這個時候需要控制下發(fā)送通知的行為,不控制的話每個節(jié)點都會發(fā)送通知。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于SpringBoot實現(xiàn)自動裝配返回屬性的設計思路
這篇文章主要介紹了基于SpringBoot實現(xiàn)自動裝配返回屬性,這里涉及到的技術知識點有注解解析器,為什么用ResponseBodyAdvice這里解析?不在Filter,Interceptors,本文結合示例代碼給大家介紹的非常詳細,需要的朋友參考下吧2022-03-03Java數(shù)據(jù)結構通關時間復雜度和空間復雜度
對于一個算法,其時間復雜度和空間復雜度往往是相互影響的,當追求一個較好的時間復雜度時,可能會使空間復雜度的性能變差,即可能導致占用較多的存儲空間,這篇文章主要給大家介紹了關于Java時間復雜度、空間復雜度的相關資料,需要的朋友可以參考下2022-05-05