Software Architecture/MSA(11)
-
[MSA] Spring Cloud Config - MicroService 연동하기 (1)
++) Spring Cloud Config 에 대한 기본 개념 정리 링크 https://born2bedeveloper.tistory.com/60 [MSA] Spring Cloud Config - (5) 이전에는 MSA구조 중 API Gateway Service에 대해 다뤘다. 이번에는 Config 정보를 하나로 통합하여 관리할 수 있는 Spring Cloud Config에 대해 다뤄보자. Spring Cloud Config - 설정 정보의 중앙화 이전에 Mi.. born2bedeveloper.tistory.com MicroService와 Spring Cloud Config 연동하기 프로젝트의 service와 spring cloud config를 연동하는 방법을 알아보자. 필자는 기존에 만들어 둔 프로젝트..
2022.07.20 -
[MSA] Spring Cloud Config - (5)
이전에는 MSA구조 중 API Gateway Service에 대해 다뤘다. 이번에는 Config 정보를 하나로 통합하여 관리할 수 있는 Spring Cloud Config에 대해 다뤄보자. Spring Cloud Config - 설정 정보의 중앙화 이전에 Microservice를 여러 개 만들어 실습을 진행하면서, 각 서비스에 대한 설정정보는 각각 application.yml 파일에 독립적으로 분리되어 관리되었다. 따라서 설정 정보가 겹치는 경우에도 각각 따로 기재하고, 변경되는 경우는 각 서비스 별 설정파일을 수정한 후 다시 application을 구동해야 했다. Spring Cloud Config는 이러한 설정정보를 통합적으로 관리할 수 있는 서비스다. 기능을 간단하게 정리해보자. 설정정보 (yml파..
2022.07.20 -
[MSA] Spring Cloud Gateway (4) - Load Balancer
++) 해당 포스팅은 Eureka (Service Discovery)를 연동하여 프로젝트를 진행합니다. 사전 포스팅 참고. Load Balancer 로드 발란서가 무엇임? 왼쪽 그림을 참고해보자. 각 서비스 A와 B는 n개의 인스턴스로 돌아가고 있다. (여러 서버를 돌리고 있다는 뜻) 특정 이벤트로 사용자가 서버에 우르르 몰리게 될 때, 로드 발란서가 서버의 부하를 줄여주기 위해 사용자 접근을 여러 서버로 고르게 분산시켜주는 역할을 한다. 쉽게 말해서 교통정리 해주는 녀석임 프로젝트 구조 구조는 다음과 같다. API Gateway Service 프로젝트 : eureka client, 8000포트 first Service 프로젝트 : eureka client, 8081포트 second Service 프로젝..
2022.07.18 -
[MSA] Spring Cloud Gateway (3) - Custom Filter
++) 해당 포스팅은 이전 과정에서 진행했던 프로젝트를 사용하므로 이전 포스팅을 참고해야 합니다! https://born2bedeveloper.tistory.com/56 [MSA] Spring Cloud Gateway (2) - Filter 이전 포스팅 참고 API Gateway는 클라이언트와 서비스 사이의 통신을 담당하며 단일 진입점을 통해 일괄적으로 요청을 처리할 수 있다. Spring Cloud Gateway는 현재 스프링 클라우드에서 제시한 API Gatewa born2bedeveloper.tistory.com 저번 포스팅에서 언급했던 대로 이번에는 사용자 정의 필터를 만들어 볼 예정이다. CustomFilter 생성 기존 apigateway 프로젝트에 filter패키지를 추가하고 그 안에 Cus..
2022.07.15 -
[MSA] API Gateway Service - (4)
이전 포스팅 링크 (Service Discovery) 이전에는 Service Mesh 부분의 Service Discovery를 다뤘다. 이번엔 API Gateway에 대해 다뤄보자. API Gateway 위 그림처럼 마이크로 서비스가 3개가 있다고 가정했을 때, 클라이언트 쪽에서 직접 호출을 한다고 보자 클라이언트에서 직접 마이크로서비스의 주소를 통해(앤드포인트) 파라미터 전달하고 요청하는 방식이다. 이 떄 새로운 마이크로 서비스가 추가되거나 기존 마이크로 서비스가 변경되었으면 ? 클라이언트에서 직접 호출하는 앤드포인트가 바뀔테니 클라이언트 측을 변경해야한다. 서비스가 변경될 때마다 매번 클라이언트쪽에서 설정을 하는 것은 번거로운 일이다. 또한 클라이언트의 요청이 아무런 검증 없이 직접적으로 서비스에 닿..
2022.07.15 -
[MSA] Spring Cloud Gateway (2) - Filter
이전 포스팅 참고 API Gateway는 클라이언트와 서비스 사이의 통신을 담당하며 단일 진입점을 통해 일괄적으로 요청을 처리할 수 있다. Spring Cloud Gateway는 현재 스프링 클라우드에서 제시한 API Gateway 라이브러리이며, 비동기 방식을 지원한다. 이전에 간단한 프로젝트를 통해 Gateway를 사용해봤으니 이제 필터에 대한 실습을 진행해보자. Spring Cloud Gateway - Filter 스프링 클라우드 게이트웨이의 필터는 이렇게 구성되어있다. Gateway Handler Mapping 클라이언트로부터 어떤 요청이 들어왔는지 요청 정보를 받는 곳 Predicate 그 요청에 대한 사전 조건, 즉 어떤 이름으로 요청됐는지 조건을 분기해줌 Filter 사전, 사후 필터로 나뉨..
2022.07.15