[스프링] Eureka의 주요 기능

Eureka는 Netflix에서 개발한 기능 중심의 REST 기반 서비스 찾기(Web Service Discovery) 서버입니다. Eureka는 마이크로서비스 아키텍처에서 필수적인 구성 요소로써, 서비스들의 동적인 등록, 검색, 로드 밸런싱을 지원합니다. 이 기능은 사용하기 쉬우며, 서버 사이에서의 통신이 최소화되도록 설계되어 있습니다.

주요 기능

  1. 서비스 등록

    Eureka 서버는 여타 마이크로 서비스들의 인스턴스들의 등록을 제공합니다. 각 서비스 인스턴스는 자신의 IP 주소, 포트 번호, 상태 정보와 함께 Eureka 서버에 자신을 등록합니다.

    @EnableEurekaServer
    @SpringBootApplication
    public class EurekaServerApplication {
        public static void main(String[] args) {
            SpringApplication.run(EurekaServerApplication.class, args);
        }
    }
    
  2. 서비스 검색

    Eureka 클라이언트는 서비스의 이름으로 해당 서비스의 인스턴스를 검색할 수 있습니다. 이를 통해 동적으로 변화하는 서비스의 위치를 찾아서 통신할 수 있습니다.

    @EnableEurekaClient
    @SpringBootApplication
    public class EurekaClientApplication {
        public static void main(String[] args) {
            SpringApplication.run(EurekaClientApplication.class, args);
        }
    }
    
  3. 로드 밸런싱

    Eureka는 서비스 인스턴스들 사이의 부하를 분산하기 위한 로드 밸런싱을 지원합니다. 클라이언트는 Eureka 서버로부터 여러 인스턴스들 중 하나를 선택하여 트래픽을 분산시킬 수 있습니다.

  4. 가용성 향상

    Eureka는 서비스 인스턴스의 여유도를 모니터링하여, 가용성 향상을 위한 가장 적합한 자기 IP를 선택하고 관리합니다.

Eureka의 주요 기능은 마이크로서비스 아키텍처에서 서비스 찾기와 로드 밸런싱을 간편하게 구현할 수 있도록 도와줍니다.

더 자세한 정보는 스프링 Eureka 문서를 참고하세요.