[스프링] Eureka의 REST API 및 사용 예시

Eureka는 스프링 클라우드의 일부로, 마이크로서비스 아키텍처에서 서비스 디스커버리와 로드 밸런싱을 가능하게 합니다. 이 기술적 블로그에서는 Eureka 서버의 REST API에 대해 살펴보고, 스프링 부트 애플리케이션에서 Eureka를 사용하는 방법에 대해 알아보겠습니다.

Eureka REST API

Eureka 서버는 CLI 또는 HTTP 요청을 통해 상태 및 서비스 정보를 제공하는 REST 엔드포인트를 제공합니다. 아래는 일반적인 Eureka REST API 엔드포인트의 목록입니다.

서비스 등록 정보 가져오기

Eureka 서버에서 서비스 등록 정보를 가져오기 위해서는 다음 API를 사용할 수 있습니다.

GET /eureka/apps

서비스 인스턴스 상세 정보 가져오기

특정 서비스의 인스턴스 상세 정보를 가져오기 위해서는 다음 API를 사용할 수 있습니다.

GET /eureka/apps/{service-name}

서비스 등록 및 해제

새로운 서비스를 Eureka 서버에 등록하거나, 등록된 서비스를 해제하기 위해서는 아래의 API를 사용할 수 있습니다.

POST /eureka/apps/{service-name}
DELETE /eureka/apps/{service-name}/{instance-id}

기타 API

이 외에도 Eureka는 상태 확인, 업데이트 확인, 장애 조치 등을 위한 다양한 REST API를 제공합니다.

Eureka 사용 예시

이제 위에서 언급된 REST API를 활용하여 스프링 부트 애플리케이션에서 Eureka를 사용하는 방법을 알아보겠습니다.

import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

@RestController
public class ServiceInstanceController {

    @Autowired
    private DiscoveryClient discoveryClient;

    @GetMapping("/service-instances")
    public List<String> serviceInstancesByApplicationName() {
        return discoveryClient.getServices();
    }
}

위의 예시에서는 DiscoveryClient를 사용하여 Eureka 서버에 등록된 서비스 정보를 가져와 REST API로 노출하는 방법을 보여줍니다.

Eureka의 REST API 및 사용 예시에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다.

이제, Eureka의 REST API 및 스프링 애플리케이션에서의 사용 방법에 대해 간략하게 알아보았습니다. Eureka를 사용하여 마이크로서비스 아키텍처를 구축하고 관리하는 데 도움이 되길 바랍니다.