Spring Cloud Eureka 服務上下線監控的實現

這篇文章主要介紹了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集羣環境下,每個節點都會觸發事件,這個時候需要控制下發送通知的行爲,不控制的話每個節點都會發送通知。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章