일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- string
- hamobee
- 추상클래스
- concreteclass
- override
- run()
- 콘크리트클래스
- overload
- abstractclass
- methodArea
- super
- class
- 생성자
- fuction
- start()
- Vector
- Hashtable
- 객체형변환
- eclipse
- Polymorphism
- object
- hashCode
- reference
- ALTER
- garbagecollection
- constantnumber
- Eureka
- value
- arguments
- MSA
- Today
- Total
뇌운동일지
[MSA실습] 개발환경설정 밎 실습예제 (팀뷰어 활용, vscode, springboot, eureka) 본문
[MSA실습] 개발환경설정 밎 실습예제 (팀뷰어 활용, vscode, springboot, eureka)
purpleduck 2021. 3. 12. 19:281. 팀뷰어로 원격 컴퓨터 제어
(사용해야하는 PC 사양이 적당하지 않아서 사용하려는 방법)
사용자 계정에 컴퓨터 등록해서 사용할 것
(집에 켜둔 PC가 자동종료되어 팀뷰어에 연결할 수 없었다. 내일은 자동종료 설정을 꺼두고 오자. -> 결국 안썼다. )
2. IDE 를 어떤 것을 사용할 것인가?
Eclipse, IntelliJ, VScode 중에 고민했다.
태블릿에서 개발해야 하는 경우가 있어, 무거운 이클립스는 싫었다. ( 갑자기 꺼지는 불상사가 발생할 수 있다 )
vs code를 선택했다. (vs code 에서 여러 프로젝트 동시에 못여는거 생각못함. 다음엔 IntelliJ 쓸 것)
vs code는 extension pack 을 따로 설치해주어야 하는데, 이미 실습하려는 PC 에 몇가지 extension 이 설치되어있는 상태라 나는 gradle extension pack 만 추가로 설치했다. (설치 전, vs code 업데이트도 필요했다. 실행해보려고 하니, 실행이 안되어서 업데이트하게 되었다. )
3. 본격적인 실습
여러 예제를 찾아본 결과, Spring Boot 를 이용한 MSA 구축을 위해서는 Eureka 와 Zuul 이 기본이 된다고 판단했다. 따라서 Eureka 와 Zuul 을 테스트해볼 수 있는 가장 간단한 예제부터 구현해보았다.
(예제보고 그대로 하려고 했는데, 설명이 그리 친절하지 않아서 연구해가며 만들었다. )
1개의 Eureka Server 와 2개의 Eureka Client 로 구성
3-1. Eureka Server 구현
MSA를 테스트해보는 것이 목적이므로, 프로젝트 생성은 간단히 해결하기로 했다.
아래에서 생성하면 된다.
Maven Project 와 Gradle Project 중 Gradle 을 선택했다. 선택한 이유는 Gradle 로 구현하는 것이 더 간단하다는 단순한 이유이다. 사실 둘 다 쓸 줄은 아는데, 둘 다 제대로 알고 쓰는 것은 아니다. ( 팀프로젝트나 업무 진행 시, Maven 으로 정해져 있는 경우가 많아, maven 을 사용한 적이 더 많기는 하다. 그러나 혼자서 개인프로젝트를 해야하는 경우, 1순위가 아닌 요소에 에너지를 할애하기 싫어 Gradle을 사용한 경우가 많다. ) Maven 의 lifecycle 의 경우, 따로 공부해본적이 몇 번 있다. 그러나 그 때 뿐이고, 일주일 내에 금세 까먹었다. Maven 과 Gradle 모두 나중에 다시 공부해봐야겠다. |
ADD DEPENDENCIES 를 눌러서 Eureka Server 를 추가해준다.
그리고 Project Metadata 도 수정해주었다. (안해도됨)
GENERATE 하면, earlgrey.zip 파일이 다운로드된다.
.zip 파일을 압축해제해서 원하는 경로에 넣어준다.
나는 새폴더를 만들어서 [C:\duckduck\earlgrey] 이 경로에 넣었다.
vs code에서 [파일 > 폴더 열기]
성공적.
이제 application.yml 을 작성해주어야 한다.
경로는 이곳에 있다.
설정파일의 포맷은 다양한데(.properties, .yml, .ini 등), 이 부분도 하나의 학습주제가 된다. ( 나중에 필요해지면 공부해보자. )
이름바꾸기를 이용하여 포맷까지 수정할 수 있다.
application.yml
spring:
application:
name: eureka-server
server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
수정 후, 실행하려고 했더니 Configure Java Runtime 창이 뜨며, JDK install 이 필요하다는 메시지가 나왔다. 원래 로컬 환경에서 JDK 8 을 사용했었는데, 내가 initialize 할 때 JDK 11 을 선택해서 이런 일이 일어났나보다. 사실 그냥 initialize를 JDK 8 로 다시 하는 것이 더 빠를 것 같지만, 이미 다운로드 중이니까 기다리도록 한다. ( .msi 파일과 .exe 파일의 차이점에 대해 나중에 알아보면 좋을 것 같다. ) 팀뷰어로 연결해서 실행해보기로 하고, 코드나 만들걸 그랬다. 너무 오래기다려야 한다...... |
거의 1시간을 기다렸고, 실행하니 원하는 결과가 나왔다.
3-2. Eureka Client 구현 (SERVICE-A)
Dependencies 에 Eureka Discovery Client 와 Spring Web 을 추가해주었다. ( 참고한 예제에는 Spring Web 대신 Spring Web Starter를 사용하였으나, 내가 Search 했을 때에는 그러한 Dependency 가 존재하지 않았다. )
GENERATE 하여 프로젝트 여는 법은 서버와 같다.
경로는 [C:\duckduck\client] 로 했다.
Eureka 서버가 실행중인 상태에서 Eureka 클라이언트를 실행한다.
실행결과
Eureka Server 가 Eureka Client 를 호출하는 부분까지 구현할 수 있었다.
3-3. Eureka Client 구현 (SERVICE-B)
두 개의 client 가 등록되어있다.
그러나 서비스 간 호출 단계에서 막힘. ( ribbon은 다른 예제에서 먼저 해보자. )
여기까지의 실습코드
github.com/earlgreybutter/MSAexample1
HTTP client 호출을 테스트해보기 위해 아래의 크롬 확장 프로그램을 추가했다.
chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?hl=ko
나중에 돌아와서 해결하겠다.
참고자료
'오리너구리의 오리발질 > MSA' 카테고리의 다른 글
서비스 구상 (0) | 2021.07.05 |
---|---|
[MSA실습] Configuration Server 구성 (0) | 2021.03.31 |
MSA 실습 참고 예제 (0) | 2021.03.11 |
maven 생명주기 (0) | 2021.03.09 |
CI/CD 개념학습 (0) | 2021.03.08 |