Backend/Spring Cloud

1.Spring Cloud Bus란? 앞서 포스팅에서 언급한 것과 같이 어플리케이션 설정 파일의 변경 시 별도 빌드-배포 없이 Spring Cloud Config를 이용하면 어플리케이션의 빌드-배포 없이 적용 가능한 것을 확인할 수 있었다. 그러나 MSA 구조에서 Micro Service가 많아질 경우 서버 한개 한개 각각 개별적으로 actuator/refresh 호출하여 적용하는 것을 현실적으로 쉽지 않고 누락의 가능성도 있다. 이러한 복잡하고 번거로운 점을 개선하고자 Spring Cloud Bus를 이용할 경우 손쉽게 적용할 수 있다. Spring Cloud Bus는 분산 시스템의 노드를(Micro service)를 경량 메시지 브로커와 연결하여 상태 및 구성에 대한 변경 사항을 연결된 노드에게 전달..
1.Spring Cloud Config Server의 필요성 각각의 Micro Service가 가지고 있어야 할 Application 구성 정보 파일의 내용이 변경이 될 경우 빌드-배포 과정이 발생하게 된다. Spring Cloud Config Server를 통해 구성 정보 파일(application.yml)을 관리함에 따라 구성 정보 파일이 변경되어도 Micro Service의 별도 빌드-배포 없이 적용이 가능하다. 어플리케이션 배포 파이프라인을 통해 DEV-STG-PROD 환경에 맞는 구성 정보 사용 가능하다. 2.Spring Cloud Config 설정 파일 읽기 우선 순위 설정 파일은 크게 다음의 위치에 존재하면 다음의 순서로 읽혀진다. 마지막에 읽혀지는 설정 파일의 값의 우선순위가 높다. 동일한..
1. Spring Cloud Gateway Load Balancer 구성과 동작 순서 Eureka Server와 API Gateway Server 간 연동을 통해 Service간에 Load Balancer 기능을 구현한다. Client에서 특정 Micro Service 요청시에 API Gateway Server와 Eureka Server, 그리고 Mircro Service 동작 순서는 다음과 같다. ① Client에서 Service A, welcome을 API Servier 요청 ② API Server에서는 Eureka Server에 등록된 Service A에 대한 정보를 요청 Eureka Server는 요청온 microservice를 위치를 검색 후 API Gateway server로 전달 ③ API ..
해당 내용은 인프런 이도원님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)"를 듣고 정리한 내용입니다. 1. Spring Cloud Gateway Filter란? Http 요청, 응답에 대한 내용을 추가/수정 할 수 있도록 한다. 요청 전 처리하는 필터를 Pre Filter, 요청 후 처리하는 필터를 Post Filter라고 한다. 2. Spring Cloud Gateway Filter의 동작 순서 GateWay Handler를 통해 사용자 요청에 대한 내용을 받게된다. Predicate: 사용자 요청에 대해서 Spring Cloud Gateway에 설정된 조건을 찾아 Filter를 거쳐 서비스로 route되도록 한다. Pre Filter :Http 요청에 대해 과정을 수행한다..
해당 내용은 인프런 이도원님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)"를 듣고 정리한 내용입니다. 1. Spring Cloud Gateway(SCG)란? API Gateway 서비스로 전달되는 모든 API요청의 관문 , Gateway 역할을 하는 서버 시스템의 구조를 내부로 숨기고 외부의 요청에 대해서만 응답하기 때문에 클라이언트는 약속한 형태의 API요청을 서버로 전달 인증/인가, L/B & 라우팅, 로깅, Circuit Breaker의 역할을 수행한다. Srping Cloud Gateway Spring에서 제공하는 Gateway로 Netflix Zuul을 대체. 특징 논블로킹(non-blocking), 비동기(Asynchronous) 방식의 Netty Server를 사..
1.Eureka Client Random Port 지정 일반적인 환경에서는 지정된 PORT를 사용하여 어플리케이션을 운영한다. 그러나 MSA와 같이 LB 환경을 위해 여러 서비스를 등록하거나 자동으로 서비스가 증가되어야 하는 상황에서는 random port를 이용한다. 동일한 서비스를 여러개 실행하는 경우라면, 관리자가 매번 PORT 번호를 지정하는 것도 한계가 존재함. random port 설정 방법 - yml 파일에서 port번호를 0번으로 설정. server: port: 0 # port : 0 #random port 사용 random port 설정 후 Eureka Server에서는 서비스 목록 2개가 정상 노출 된다. 그러나 위와 같이 설정할 경우 동일한 service application이 여..
야뤼송
'Backend/Spring Cloud' 카테고리의 글 목록