티스토리 뷰
자 이제 본격적으로 Discovery Service를 구축해보도록 하겠습니다.
1. Discovery Service 프로젝트 생성
마찬가지로 https://start.spring.io/ 사이트에서 다음과 같이 프로젝트를 생성했습니다.
중앙서버이기 때문에 Eureka Server 만 Dependencies에 추가해줬습니다.
마찬가지로 생성된 프로젝트를 IntelliJ를 활용해서 Open을 해준 뒤
yml 파일도 다음과 같이 작성해줍니다.
//application.yml
server:
port: 8761
spring:
application:
name: discoveryservice
eureka:
client:
register-with-eureka: false
fetch-registry: false
마찬가지로 Application에서 @EnableEurekaServer 어노테이션을 추가해줍니다.
//DiscoveryserviceApplication
package com.example.discoveryservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class DiscoveryserviceApplication {
public static void main(String[] args) {
SpringApplication.run(DiscoveryserviceApplication.class, args);
}
}
실행을 통해서 잘 설정 했는지 확인 해줍니다.
Port 8761에 따라 들어가보면 다음과 같은 화면이 출력된다면 성공 입니다.
전에 올렸던 글과 너무 중복되는 부분이 많기 때문에 여기에 이어서 Service까지 등록해볼게요.
2. User Service 생성
마찬가지로 initializr를 활용해서 다음과 같이 프로젝트를 생성할거에요.
Main이 되는 Dependency는 Eureka Discovery Client 이고
Lombok,Devtools,Spring WEB은 개발 속도와 편의성을 위해서 추가해 줄게요!
다음으로는 Application을 설정해줘야해요.
이번에는 Server가 아닌 Service의 등록을 원하기 때문에 해당 어플리케이션을 클라이언트로 등록해주셔야해요!
@EnableEurekaClient를 통해서 클라이언트로 등록하도록 할게요 :)
//UsrerServiceApplication
package com.example.usrerservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class UsrerServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UsrerServiceApplication.class, args);
}
}
자 마지막으로 application.yml파일 까지 수정을 해줄까요?
//aplication.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
여기까지 작업하면서 IntelliJ의 또 하나의 장점을 발견했는데, STS나 이클립스는 수정 사항마다 모두 저장하는
번거러움이 있었는데 IntelliJ는 자동으로 세이브를 해줍니다! 그래서 변경사항들이 바로바로 적용되는 편리함이
있네요. STS로 작업하다 보면 세이브를 못해서 다시 실행해야 할때도 있었는데, 이런 불편함이 사라지니 확실히
STS는 이제 거들떠도 안볼거 같아요... 굿
자 전에도 말씀드렸던가요? 클라이언트 등록을 위해서는 register-with-eureka와 fetch-registry를 true로 해야
하나의 서비스로 인식해요. 그리고 Server와 다르게 저희가 참조할 url을 지정해줘야 합니다.
Eureka-Server로 지정되어 있는 Discovery-Service의 Port번호는 8761이었으니 해당 URL로 지정해 주면 끝!
그럼 이제부터 해당 서비스 등록이 끝난거에요!
그럼 지금 Work-Space안에는 UserService와 DiscoveryService 두개의 Application이 있을거에요 두개의 어플리케이션을 실행해주세요!
하단에 USER-SERVICE가 보이시나요 성공적으로 서비스가 등록됐네요.!
'웹 프로그래밍 > MSA 학개론' 카테고리의 다른 글
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 ( Gateway Filter) - 5 - (0) | 2022.04.07 |
---|---|
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 ( Gateway Filter) - 4 - (0) | 2022.04.07 |
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 (Gateway)-3- (0) | 2022.04.07 |
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 ( Eureka )- 1- (0) | 2022.04.07 |
[MSA] Spring Cloud로 개발하는 MS 어플리케이션 ( MSA ) - 0 - (0) | 2022.04.07 |
- Total
- Today
- Yesterday
- 운동일기
- consumer
- MSA
- rabbitmq
- springcloud
- docker
- MariaDB
- ACTUATOR
- git
- producer
- Gateway
- 오늘저녁 삼겹살
- 미래의나에게동기부여
- Spring + ELK
- zipkin
- LoadBalancer
- JWT
- 운동
- UserService
- Logstash to ElasticSearch
- Logstash 활용
- config
- Feign
- github
- elasticSearch
- kafka
- prometheus
- 루틴기록
- Kafka Connect
- 빅-오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |