Spring Cloud Eureka의 서비스에 대한 상하선 모니터링(중점), 재계약, 등록, 시작 등

2510 단어
Spring Cloud Eureka의 서비스에 대한 상하선 모니터링(중점), 재계약, 등록, 시작 등
프로젝트에서 각 서비스가 다운된 후의 정보를 감청하고 eureka의 5개의 감청기 Eureka Instance Canceled Event 서비스 오프라인 이벤트 Eureka Instance Registered Event 서비스 등록 이벤트 Eureka Instance Renewed Event 서비스 재계약 이벤트 Eureka Registry Available Event Eureka 등록 센터 시작 이벤트 Eureka Server 시작 이벤트
Eureka 서버의 구성
server:
  port: 8081
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
      #      ,           ,        ,              。
      enable-self-preservation: false
      #    
      eviction-interval-timer-in-ms: 5000

유레카 이벤트 수신 클래스
package com.itmuch.cloud.EurekaListener;

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 sunbohu
 * @create 2018-11-15 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   ");
    }
    
}


실제 프로젝트는 수요에 따라 상응하는 통지를 해야 하는데 여기는 단지 간단한 기록일 뿐이다.
클라이언트 구성
spring:
  application:
    name: member
eureka:
  instance:
  #   instance      ,             ,       eureka        
    #    5s,          ,          
    lease-renewal-interval-in-seconds: 5
    #      ,   10s         ,               ,     。
    lease-expiration-duration-in-seconds: 10
  client:
    serviceUrl:
      defaultZone: http://localhost:8081/eureka/
server:
  port: 8082

좋은 웹페이지 즐겨찾기