티스토리 뷰

자 이제 본격적으로 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이 되는 DependencyEureka 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와 discoveryservice의 Application을 실행

하단에 USER-SERVICE가 보이시나요 성공적으로 서비스가 등록됐네요.!

따따봉

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함