본문 바로가기

spring cloud11

API Gateway Service - Netflix Zuul 마이크로 서비스 방식으로 개발하면 클라이언트는 각 비즈니스에 따라 다른 서버에 요청을 하고 응답을 하게 된다. (서버에 직접적으로 요청) 하지만 만약 서버의 포트가 변경되는 등과 같은 일이 발생한다면 클라이언트에서 서버를 호출하는 부분을 일일이 수정해주어야 한다. 하여 이와 같은 불편함을 막고, 더 다양한 기능들을 제공하기 위해 API Gateway를 사용하여 클라이언트는 API Gateway에게 요청을 보낸다. 즉 API Gateway는 클라이언트와 서버를 중계해주는 역할을 하는 것이다. 이를 위해 우리는 먼저 Netflix Zuul을 사용해볼 것이다. (스프링 부트 2.4.X 버전 이상부터는 Netflix Zuul사용을 권장하지 않는다. 현재 스프링 팀은 Spring cloud gateway를 사용할.. 2022. 2. 28.
Service Discovery - User service 등록하기 이번에는 이전 포트스에서 만든 Service Discovery(spring cloud netflix eureka)에 user service라는 마이크로 서비스를 만들고 이를 등록해보자. 즉 여기서 user service는 service discovery의 client가 된다. 먼저 아래의 의존성들을 추가한 스프링 부트 프로젝트를 user-service라는 이름으로 만들었다. 그리고 main함수를 가진 UserServiceApplication에 user service를 Eureka서버에 등록하기 위해 @EnableDiscoveyClient 어노테이션을 붙여준다. package com.example.userservice; import org.springframework.boot.SpringApplicatio.. 2022. 2. 28.
Service Discovery - Spring Cloud Netflix Eureka service discovery를 위해 Spring Cloud Netflix Eureka를 사용. service discovery : 외부의 서비스들이 마이크로 서비스들을 검색하기 위해서 사용됨. 즉 서버(서비스)를 특정 위치에 등록하고, 특정 서버(서비스)가 어디에 위치해 있는 지를 알려준다(검색). 이제 위의 그림에서 Service Discovery 서버를 만들어보자. (유레카 역시 서버 형태로 실행된다.) 먼저 spring-cloud-netflix Eureka Server. 의존성을 추가하고 스프링 부트는 2.6.4버전, 자바는 11, 메이븐 프로젝트로 설정하여 스프링 부트 프로젝트를 생성하였다. 그리고 인텔리제이로 열면 main 함수에 아래와 같은 @EnableEurekaServer어노테이션을 추.. 2022. 2. 27.