MSA (MicroServiceArchitecture)/Eureka & Spring Cloud Gateway (15) 썸네일형 리스트형 MSA (Spring Cloud Gateway 프로젝트 생성) # yml 파일에 대해서 알아보자. YAML(야믈, 와이엠엘(.yml))은 JSON의 상위집합(superset)으로, 계층적 뼈대 구조를 설정하는데 편리한 형식(format)입니다. 라고 정의 되어 있다. # 스프링 클라우드 게이트웨이를 생성해보자. 1. 스프링 이니셜라이져에서 아래와같이 프로젝트를 생성하자. 2. application.yml 파일에 아래의 코드 내용을 추가하자. server: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://localhost:8761/eureka spring: application: name: apigateway-servic.. MSA (Zuul Filter + Log 찍기) # Zuul 필터를 통해 로그를 찍는 방법에 대해 알아보자. 1. 아래의 그림처럼 패키지를 생성하고 class 파일을 생성한다. 2. extends ZuulFilter 후 alt+insert 키를 눌러서 implement Method 해주거나 마우스 우클릭 후 Generate 후 implement 해주면 아래와 같이 오버라이드 되어 생성이 된다. - 해당 필터는 사용자가 요청이 들어올때마다 먼저 실행되는 메소드라고 볼 수 있다. package com.example.zuulservice.filter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.exceptio.. MSA (Netflix zuul 프로젝트 생성 및 라우팅) # Netflix zuul이란? 이녀석이 Ingress 역할을 해주는것 같다. API GW 역할 - 간단하게 구글링 해보면, Overview ZUUL은 넷플릿스에서 사용 하는 JVM 기반의 라우터로 마이크로 서비스에서 라우팅, 모니터링, 에러처리, 보안 등을 담당한다. > 간단하게 이렇다... 주로하는 일은 라우팅 기능을 도맡아 하는거 같다. 그렇다면 이제 zuul 프로젝트를 생성하고 간단한 코드를 작성해 보자. 1. 스프링 이니셜라이져를 사용하여 스프링 first-service 프로젝트를 생성하자. 2. 동일하게 second-service 프로젝트를 생성하자. 다운받은 zip 파일을 압축을 해제 한 뒤 InteliJ에서 open하여 프로젝트를 띄운다. 그리고 나서 src > main > java > c.. MSA (동적으로 포트와 인스턴스 ID를 할당받아 실행하기) # 랜덤포트를 이용하여 동적으로 포트를 할당받아 어플리케이션을 실행하기. 1. application.yml 파일을 수정한다. server: port: 0 #포트를 동적으로 할당받기 위해 0으로 변경 spring: application: name: user-service eureka: instance: # 인스턴스 id를 동적으로 할당받아 인스턴스 id와 port번호를 출력 instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}} clinet: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://127... MSA (스프링 부트 어플리케이션을 실행하는 4가지 방법) 1. 포트번호를 직접 입력하여 어플리케이션을 기동 2. 어플리케이션 클론을 생성, 복사 후 Modify options에서 add VM options 항목을 추가 -Dserver.port=9002 를 입력 후 어플리케이션을 실행하면 9002번 포트를 타고 실행된다. 3. mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003' 명령어를 입력하여 실행. 4. 마지막 네번째로는 CMD창에서 - 명령어: java -jar -Dserver.port=9004 ./target/user-service-0.0.1-SNAPSHOT.jar 5. 4개의 포트를 각각의 방법으로 기동 후 매니저 콘솔에서 상태 확인 - 4개의 서비스가 구동중인것을 확인 할 수.. MSA (유저 서비스 생성하기) # 유저 서비스를 생성하고 생성된 클라이언트를 관리 페이지에서 확인하는 작업을 해보자 1. 스프링 이니셜라이저 사이트에서 아래와 같이 디펜던시를 추가하고 GENERATE 하자. Default 값 2. GENERATE 한 .zip파일의 압축을 해제하고, InteliJ에서 open하여 빌드하자. 파일을 빌드 후 .properties -> .yml 로 변경하고, 아래의 코드를 입력하자. server: port: 9001 spring: application: name: user-service eureka: clinet: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://127.0.0.1:8761/eureka - 이코드.. MSA (스프링 부트 세팅) # 스프링 부트는 개발에 사용하는 디펜던시 및 라이브러리등을 자동으로 빌드하여 개발 편의성을 높였다. 이번 시간에는 MSA 첫 시간으로 Intelij를 활용한 스프링 부트의 환경설정을 세팅하는 방법에 대해 알아보자. 1. 스프링 이니셜라이져 사용하여 빌드파일 다운받기 https://start.spring.io/ 로 접속하여 스프링부트에서 사용할 빌드 파일들을 다운로드 할 수 있다. 매우 직관적이고 사용이 편리하게 되어있어 마우스 클릭 몇번만으로 서버 빌드파일을 다운로드 할 수 있다. 아래의 설정을 참조하여 GENERATE 해보자. 2. InteliJ를 실행하고 다운 받은 빌드 파일을 Import 해보자. - 이전에 스프링이니셜라이저에서 생성한 zip 파일을 압축을 해제하고, 해제한 경로를 import 해.. 이전 1 2 다음