[스프링] Eureka의 주요 기능
Eureka는 Netflix에서 개발한 기능 중심의 REST 기반 서비스 찾기(Web Service Discovery) 서버입니다. Eureka는 마이크로서비스 아키텍처에서 필수적인 구성 요소로써, 서비스들의 동적인 등록, 검색, 로드 밸런싱을 지원합니다. 이 기능은 사용하기 쉬우며, 서버 사이에서의 통신이 최소화되도록 설계되어 있습니다.
주요 기능
-
서비스 등록
Eureka 서버는 여타 마이크로 서비스들의 인스턴스들의 등록을 제공합니다. 각 서비스 인스턴스는 자신의 IP 주소, 포트 번호, 상태 정보와 함께 Eureka 서버에 자신을 등록합니다.
@EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
-
서비스 검색
Eureka 클라이언트는 서비스의 이름으로 해당 서비스의 인스턴스를 검색할 수 있습니다. 이를 통해 동적으로 변화하는 서비스의 위치를 찾아서 통신할 수 있습니다.
@EnableEurekaClient @SpringBootApplication public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
-
로드 밸런싱
Eureka는 서비스 인스턴스들 사이의 부하를 분산하기 위한 로드 밸런싱을 지원합니다. 클라이언트는 Eureka 서버로부터 여러 인스턴스들 중 하나를 선택하여 트래픽을 분산시킬 수 있습니다.
-
가용성 향상
Eureka는 서비스 인스턴스의 여유도를 모니터링하여, 가용성 향상을 위한 가장 적합한 자기 IP를 선택하고 관리합니다.
Eureka의 주요 기능은 마이크로서비스 아키텍처에서 서비스 찾기와 로드 밸런싱을 간편하게 구현할 수 있도록 도와줍니다.
더 자세한 정보는 스프링 Eureka 문서를 참고하세요.