티스토리 뷰

 

Eureka에 대해서 짧게 알아보고 갈게요 

Eureka는 저희가 MSA만들때 여러가지 Service를 개발하게 될거에요.

그리고 그 서비스들을 Load Balancer가 호출해야하는데 이걸 중앙에서 관리해주지 않으면

굉장히 복잡해져요. 그렇기에 Eureka를 활용해서 그룹을 관리하고 Gateway에 연결하기 전에 

서비스의 정보들을 관리해주는 중앙 통로 같은 아이가 Eureka Server입니다. 

 

1. 실제로 만들어 보는 Eureka Server

 

인프런에서 강의를 볼때마다 느꼈던 건데, 인텔리제이를 활용해서 개발하시는 분이 정말 많더라구요.

그래서 이게 그렇게 좋나 생각하면서도, 유료라는 점이 마음에 걸려서 사용을 못했습니다. 

하지만 커뮤니티 버젼은 무료로 사용할 수 있으니 한번 사용해 볼려합니다. 

다만 커뮤니티 버젼은 스프링 이니셜라이저가 없어서 번거로움이 약간 존재하지만!

좋은게 좋은거니까! 아래의 사이트로 접속해서 다음과 같이 설정을 해줍시다.

2.4.1버젼의 예제지만, 현재는 지원하지 않는 것 같으니 2.6.6버젼으로 진행했어요!

https://start.spring.io/

Eureka Server만 Dependencies에 추가해주자

그 뒤에 GENERATE를 통해서 다운로드 받은 파일을 압축을 풀어서 InteliJ 환경에서 Open을 통해서

열어주기만 하면 완료가 됩니다. 

생각보다 간단하게 완료가 됐네요.

혹은 STS 환경이 익숙하다 하시면 그냥 STS에서 똑같은 프로젝트를 생성하셔도 문제는 없습니다.

 

다음으로는 EurekaServer를 만드는 작업이었기 때문에

해당 경로에 있는 EcoomerceApplication 에서 EurekaServer임을 명시해줘야 해요

@SpringBootApplication
@EnableEurekaServer // 요거!
public class EcoomerceApplication {

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

}

@EnableEurekaServer를 통해서 해당 annotation을 추가해주면 될거에요! 만약 여기서 부터 에러가 나신다면 

Dependencie에 Eureka서버가 들어가 있는지 확인해주세요 :)

 

그 뒤에는 application.yml(properties)를 수정해줘야 해요.

yml 구분이 잘되어있어서 편해요! 이 기회에 properties를 버리고 yml로 갈아타봐요.

기존에는 properties로 되어있을텐데 refactor를 통해서 yml로 바꿔주기만 하면 돼요

다음과 같이 수정 해줍시다.

//application.yml

server:
  port: 8761

spring:
  application:
    name: discoveryservice

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

port부분은 너무 익숙하실거에요. 해당 프로젝트의 포트를 지정해주는 부분이에요

spring.application.name 부분은 저희가 실제로 등록할 MicroService의 이름을 지정해주는 부분이에요.

마지막으로 eureka.client. 밑에 있는 부분은 헷갈릴거에요. Server를 만드는데 client로 지정하는것도 이상하죠?

밑에있는 설정들을 보시면 조금 이해할 수 있을 거에요 register-with-eureka와fetch-registry는 기본적으로 True로

되어있어요. 그래서 해당 값들을 false처리로 하지 않으면 client로 인식하고 서비스를 등록하게 됩니다.

굉장히 의미없는 작업이기 때문에, false처리를 통해서 client가 아님을 명시해주면 Server로 등록된다는 개념으로

생각하시면 조금 편하실 거에요. 

 

  • 진행 시 오류상황 발생 > Server가 없어서 실행 시 자동으로 Shutdown이 되는 현상 발생

! 해결 방법 Dependency 추가

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

할당받을 서버가 없어서 생겼던 오류같아요. 다음과 같이 Dependency를 추가하고 update를 해줬습니다. 

 

해당 내용은 원인이 아니였습니다. 실행 시 application으로 실행해야 했어요. 

해당 파일을 활용해서 Run을 시켜주세요.

그리고 8761포트로 접속 시 다음과 같은 화면이 출력됩니다.

성공..!

 

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