코딩공부/MSA 4

[Spring Cloud] Spring Cloud 프로젝트 개요

본 글은 공식사이트에 설명되 있는 내용을 토대로 Spring Cloud 프로젝트의 전체적인 개요에 대해서 정리한 글입니다.Spring Cloud란Cloud 환경의 어플리케이션을 "cloud-native"하게 개발할때 외부 설정, stateless, 로깅, 서비스간 연결등 다양하게 고려해야 할 사항이 많습니다.Spring Cloud 프로젝트는 클라우드 어플리케이션을 개발할때 필요한 다양한 서비스를 포함하고 있어 편리한 개발에 도움을 줍니다.Spring Cloud 구조 하이라이트 Spring Cloud의 구조는 위 그림과 같습니다. 먼저 Client 요청은 API Gateway를 통해 뒷단에 있는 마이크로 서비스로 전달이 됩니다. 이때 어느 서비스로 전달할지는 Service registry를 통해서 라우팅 ..

코딩공부/MSA 2024.09.10

[Spring Cloud] Spring Cloud Gateway - 기본 제공 Route Predicate Factories

본 글에서는 Spring Cloud Gateway에서 기본으로 제공하는 Route Predicate Factory들에 대해서 설명합니다. 본 글은 공식 홈페이지의 내용을 기능별로 정리한 내용입니다.Route Predicate FactoriesRoute Prediates는 어떤 HTTP request를 match 시킬지 정하는 역할을 수행합니다. Spring Cloud Gateway는 이미 기본적으로 제공하는 Route Predicate Factories를 가지고 있으며 본 글에서 다룰 대상입니다. 만약 여러 Predicates를 동시에 사용하고 싶으시다면 yml 파일에 다음과 같이 여러 predicates를 같이 적으면 and 조건으로 들어가게 됩니다. 참고로 일반적으로 가장 많이 사용하는 Predica..

코딩공부/MSA 2024.09.04

[Spring Cloud] Spring Cloud Gateway - 설정 및 동작 원리

본 글에서는 Spring Cloud의 핵심 프로젝트 중 하나인 Spring Cloud Gateway에 대해서 공식 홈페이지 홈페이지에 있는 기본내용의 일부를 번역 및 정리한 글입니다. 이번글에서는 Spring Cloud Gateway의 두 가지 형태, 용어, 기본 설정, 동작 원리에 대해서 파악하실 수 있습니다.Spring Cloud Gatway의 두 가지 형태Spring Cloud Gateay는 보안, 모니터링 및 metrics, resiliency를 제공하는 단순하지만 효율적인 API 라우팅 기능을 제공합니다.Spring Cloud Gateway는 Server와 Proxy Exchagne라는 두 가지 형태를 제공합니다.Server 형태는 Spring Boot 어플리케이션안에서 기능을 모두 갖춘 API..

코딩공부/MSA 2024.09.02

[마이크로서비스] 마이크로서비스의 원칙

본 글은 책 「샘뉴먼, "마이크로서비스 아키텍처 구축", 2017」의 마지막장을 정리한 글입니다.1. 비즈니스 개념에 맞춘 모델링비즈니스 경계로 나눠진 콘텍스트가 기술적 개념에 맞춰 구성된 인터페이스보다 안정적도메인 경계를 정의하기 위해 경계가 있는 콘텍스트(Bounded Context)를 이용2. 자동화 문화의 적용서비스들의 동작을 보장하는 것이 모놀리식 시스템보다 복잡하므로 자동화 테스팅이 중요명령행 호출을 통한 배포와 지속적 배포 이용배포 시 환경 차이를 구체화 하기 위한 환경 정의 (ex OS)더 빠른 배포를 위한 커스텀 이미지 생성과 불변 서버를 이용3. 내부 세부 구현의 은폐경계가 있는 콘텍스트로 모델링을 통해 세부 구현을 은폐테이터베이스를 감추고 데이터 펌프, 이벤트 데이터 펌프를 통해 여러..

코딩공부/MSA 2024.04.01