Eureka服务的上下线监控

在一些业务场景下,需要对服务的上下线进行监控,比如上下线都需要进行邮件通知,可以通过eureka提供的事件监听的方式来实现;

支持的事件:

  • urekaInstanceCanceledEvent 服务下线事件
  • EurekaInstanceRegisteredEvent 服务注册事件
  • EurekaInstanceRenewedEvent 服务续约事件
  • EurekaRegistryAvailableEvent Eureka 注册中心启动事件
  • EurekaServerStartedEvent Eureka Server 启动事件

Eureka监听器使用

@Component
public class EurekaStateChangeListener {

    @EventListener
    public void listen(EurekaInstanceCanceledEvent event){
        System.out.println(event.getServerId()+"\t"+event.getAppName()+"服务下线");
    }

    @EventListener
    public void listen( EurekaInstanceRegisteredEvent event){
        InstanceInfo instanceInfo = event.getInstanceInfo();
        System.out.println(instanceInfo.getAppName()+"进行注册");
    }

    @EventListener
    public void listen(EurekaInstanceRenewedEvent event){
        System.out.println(event.getServerId()+"\t"+event.getAppName()+"服务进行续约");
    }

    @EventListener
    public void listen(EurekaRegistryAvailableEvent event){
        System.out.println("注册中心启动");
    }

    @EventListener
    public void listen(EurekaServerStartedEvent event){
        System.out.println("Eureka Server启动");
    }
}

注意

在Eureka集群环境下,每个节点都会触发事件,这个时候需要控制下发送通知的行为,不控制的话每个节点都会发送通知。

posted @ 2020-02-26 11:45  我头上有犄角  阅读(997)  评论(1编辑  收藏  举报