Загружаем каталог…
Загружаем каталог…
velog
1. 오늘의 한 줄 요약 Spring Cloud Netflix Eureka를 이용해 Service Discovery 서버를 구성하고, User Service를 여러 인스턴스로 실행해 Eureka에 등록하는 과정 을 실습했다. 어제 MSA의 전체적인 개념을 알아보았다면, 오늘은 여러 서비스의 위치를 관리하는 Service Discovery를 직접 구성해 보았다. 2. 배운 내용 Service Discovery란? MSA에서는 하나의 서비스를 여러 인스턴스로 실행할 수 있다. 예를 들어 User Service가 다음과 같이 서로 다른 포트에서 실행될 수 있다. USER-SERVICE ├─ Instance A : localhost:60000 ├─ Instance B : localhost:60001 └─ Instance C : localhost:60002 인스턴스의 개수가 많아지거나 실행 위치가 변경되면 다른 서비스가 각각의 주소를 직접 관리하기 어려워진다. Service Discovery는 실행 중인 서비스의 이름과 위치를 등록하고, 필요한 서비스가 해당 정보를 검색할 수 있도록 관리하는 역할을 한다. Service Instance │ │ 자신의 이름과 위치 등록 ▼ Eureka Server │ │ 사용 가능한 인스턴스 정보 제공 ▼ 다른 서비스 또는 Load Balancer 오늘은 Service Discovery 구현체로 Spring Cloud Netflix Eureka 를 사용했다. Eureka Server와 Eureka Client Eureka는 크게 Server와 Client로 구분할 수 있다. Eureka Server : 등록된 서비스와 인스턴스 정보를 관리한다. Eureka Client : 자신의 애플리케이션 이름과 주소를 Eureka Server에 등록한다. Eureka Dashboard : 현재 등록된 서비스와 실행 상태를 확인한다. Eureka에 등록된 서비스를 이용하면 호출하는 쪽에서 특정 IP와 포트를 직접 기억하는 대신, USER-SERVICE 와 같은 서비스 이름을 기준으로 인스턴스를 찾을 수 있다. 3. 실습 / 적용 Eureka Server 구성하기 먼저 Eureka Server 역할을 담당할 service-discovery 프로젝트를 생성했다. 메인 클래스에 @EnableEurekaServer 를 추가해 Eureka Server 기능을 활성화했다. @SpringBootApplication @EnableEurekaServer public class ServiceDiscoveryApplication { public static void main(String[] args) { SpringApplication.run( ServiceDiscoveryApplication.class, args ); } } application.yml 에는 서버 포트와 Eureka 설정을 작성했다. server: port: 8761 spring: application: name: service-discovery eureka: client: register-with-eureka: false fetch-registry: false service-discovery 는 다른 서비스가 등록되는 Eureka Server이므로 자기 자신을 다시 Eureka에 등록하거나 서비스 목록을 가져올 필요가 없다. register-with-eureka: false : 자기 자신을 Eureka에 등록하지 않는다. fetch-registry: false : 다른 서비스의 등록 정보를 가져오지 않는다. 애플리케이션 실행 후 다음 주소에서 Eureka Dashboard를 확인했다. http://localhost:8761 User Service 등록하기 다음으로 Eureka Client 역할을 하는 user-service 프로젝트를 생성했다. application.yml 에 서비스 이름과 Eureka Server 주소를 설정했다. server: port: 60000 spring: application: name: user-service eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://127.0.0.1:8761/eureka User Service를 실행하면 Eureka Server에 USER-SERVICE 라는 이름으로 인스턴스가 등록된다. 여기서 실제 등록 기준이 되는 중요한 값은 다음과 같다. spring: application: name: user-service 같은 이름으로 실행한 여러 애플리케이션은 Eureka에서 하나의 서비스에 속한 여러 인스턴스로 관리된다. 같은 서비스를 여러 인스턴스로 실행하기 같은 User Service를 여러 개 실행하려면 각 인스턴스가 서로 다른 포트를 사용해야 한다. 포트를 직접 지정해 실행할 수도 있다. 60000 60001 60002 60003 또는 다음과 같이 포트를 0 으로 지정할 수 있다. server: port: 0 server.port: 0 으로 설정하면 애
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[LG CNS AM 6기] 44일차 TIL : Spring Cloud Netflix Eureka로 Service Discovery 구성하고 User Service의 여러 인스턴스 등록하기. 1. 오늘의 한 줄 요약 Spring Cloud Netflix Eureka를 이용해 Service Discovery 서버를 구성하고, User Service를 여러 인스턴스로 실행해 Eureka에 등록하는 과정 을 실습했다. 어제 MSA의 전체적인 개념을 알아보았다면, 오늘은 여러 서비스의 위치를 관리하는 Service Discovery를 직접 구성해 보았다. 2. 배운 내용 Service Discovery란? MSA에서는 하나의 서비스를 여러 인스턴스로 실행할 수 있다. 예를 들어 User Service가 다음과 같이…
Открыть источник