반응형
MSA 토이 프로젝트를 간단하게 진행해 보기로 했다.
곧 있으면 팀 프로젝트로 MSA 프로젝트를 진행하는데 적어도 어떻게 구성되고, 데이터가 어떻게 왔다갔다 하는지는 알아야 될 것 같아서 시작했다.
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:3.1.3'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server:3.1.3'
eureka-client와 eureka-server를 의존성 주입을 받는다. server에 client를 꼽아서 사용하는 느낌으로 보면 된다. 기준이 되는 서비스에 server를 주입받고 그 외 서비스 들은 client를 주입받는다.
또, server와 client 서비스의 application.yml의 설정도 다르다.
spring:
application:
name: msa-user-service
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
server:
port: 8000
먼저, client 서비스의 yml 설정이다. name에는 서비스 이름을 정해준다. 이때 정해준 이름은 eureka 서버에 접속했을 때 표시된다. 그 외, 포트와 디폴트 url을 입력시켜준다. ureka 서버의 기본 포트가 8761이다.
spring:
application:
name: msa-eureka-server
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
register-with-eureka: false # 자신을 서비스로 등록시키지 않음
fetch-registry: false # 서비스 목록 로컬에 캐시하지 않음
server:
port: 8761
이번에는 server 서비스의 yml 설정이다. 이름을 똑같이 설정해주고 조금 다른 점은 자신을 서비스로 등록시키지 않게 하고 서비스 목록 로컬에 캐시하지 않도록 설정을 해준다. 이렇게 서비스를 만들고 모든 서버를 돌리고 8761포트에 접속하면
application에 서비스들이 연결된 것을 확인할 수 있다. 이때, 아까 eureka 서버는 등록시키지 않는 설정을 yml에서 해주었기 때문에 등록이 되지 않는다.
이렇게 msa discovery service를 적용했고 이제 api geteway를 구현해주어 각 서비스들을 묶어주어야 한다.
반응형
'Project > 토이 프로젝트' 카테고리의 다른 글
[CRUD프로젝트] : thymeleaf list로 값 받아오기 (번외) (0) | 2022.07.01 |
---|---|
[CRUD프로젝트] : create, 유저 등록하기 (0) | 2022.06.30 |
[MSA-Test-Project] : gateway 구현해보기 (0) | 2022.06.21 |
댓글