Spring Cloud Discovery 프로젝트 생성

margarin·2022년 2월 20일
0

MSA

목록 보기
2/2

해당 내용은 인프런 강의를 듣고 정리한 내용입니다.
출처: Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Netflix Eureka

Service Discovery
서비스를 등록하고 검색한다.
key와 value 형태로 저장되며, 어떤 서비스가 어떤 위치에 있는지 저장한다.

1. 프로젝트 생성

  1. https://start.spring.io/ 에서 프로젝트 생성
  2. Dependencies에 Eureka Server를 추가한다.
  3. intellij에서 프로젝트를 open
  4. main Application에 어노테이션 추가
@EnableEurekaServer

2. 설정 변경

  1. 그대로 생성하면 resources에 application.properties가 있다. 그대로 사용하여도 되고,
    편의상 application.yml파일로 변경하였다.
  2. application.yml 수정
server:
  port: 8761

spring:
  application:
    name: discoveryservice

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

여기서 eureka의 하위 속성값은 기본값이 true이다.

  • register-with-eureka: eureka에 등록할 것인지?
    false로 변경하여 자기 자신을 등록하지 않겠다라고 설정한 것이다.
  • fetch-registry: 서버로 부터 인스턴스 정보를 주기적으로 가져올 것인지?

3. 어플리케이션 실행

  1. main의 Application을 실행한다.

    8761포트로 Eureka가 실행된 것을 확인

  2. 브라우저에서 localhost:8761로 접속한다.
    아래 페이지가 뜨면 성공이다. 아직 서비스를 등록하지 않아 아무것도 나오지 않는다.

4. Eureka에 service 프로젝트 등록

1. eureka에 등록할 프로젝트 생성

dependencies 추가

2. Controller @EnableDiscoveryClient 추가

@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {

	public static void main(String[] args) {
		SpringApplication.run(UserServiceApplication.class, args);
	}

}

3. application.yml 수정

server:
  port: 9001

spring:
  application:
    name: user-service

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka
  • service-url.defaultZone: 유레카 클라이언트가 서비스를 등록할 서버 주소 지정

4. 브라우저에서 확인

localhost:8761

user-service가 eureka에 등록된 것을 확인 할 수 있다.

profile
화이팅 🥹

0개의 댓글