Spring Microservice(101)
-
What is Spring Cloud?
🚀 Spring Cloud 기반 마이크로서비스 아키텍처 패턴 정리마이크로서비스 아키텍처를 구축할 때, 직접 모든 기능을 구현하려면 큰 개발 부담이 발생합니다.Spring Cloud는 여러 오픈 소스 프로젝트(VMware, HashiCorp, Netflix 등)를 통합하여 마이크로서비스를 빠르고 효율적으로 개발할 수 있도록 지원합니다.아래는 Spring Cloud의 주요 패턴과 기능을 정리한 개요입니다.🔹 1. 개발 패턴 (Development Patterns)Spring Cloud는 마이크로서비스 개발에 필요한 핵심 기능을 제공합니다.기능설명Spring Cloud 기술🏗️ 마이크로서비스 핵심 패턴마이크로서비스 기반 애플리케이션 개발Spring Boot⚙️ 구성 관리(Configuration Mana..
2025.03.02 -
2.Exploring the microservices world with Spring Cloud
마이크로서비스를 설계, 구현 및 유지 관리하는 과정에서 이러한 프로세스가 제대로 관리되지 않으면 빠르게 문제가 발생할 수 있습니다. 마이크로서비스 솔루션을 도입할 때, 성능 문제, 병목 현상 또는 운영상의 문제를 방지하고 아키텍처를 가능한 한 효율적이고 확장 가능하게 유지하려면 모범 사례를 적용하는 것이 중요합니다. 모범 사례를 준수하면 새로운 개발자가 시스템을 빠르게 이해하는 데도 도움이 됩니다.마이크로서비스 아키텍처에 대한 논의를 계속하면서 다음 사항을 염두에 두는 것이 중요합니다.시스템이 분산될수록 장애가 발생할 가능성이 높아진다.즉, 마이크로서비스 아키텍처에서는 단일 모놀리식 애플리케이션이 아니라 여러 개의 개별 서비스가 서로 상호 작용하는 생태계를 형성하기 때문에 장애 지점이 더 많아질 수 있습..
2025.03.02 -
SAGA patterns
📌 SAGA 패턴이란?SAGA 패턴은 마이크로서비스 아키텍처에서 분산된 트랜잭션을 관리하는 패턴입니다.단일 데이터베이스 트랜잭션을 사용하기 어려운 마이크로서비스 환경에서, 데이터 일관성을 유지하기 위한 방법으로 활용됩니다.🔹 1. 왜 SAGA 패턴이 필요한가?마이크로서비스 환경에서는 각 서비스가 개별 데이터베이스를 관리하는 경우가 많습니다.이때, 하나의 비즈니스 로직이 여러 마이크로서비스에 걸쳐 수행되는 경우가 발생할 수 있습니다.✅ 전통적인 데이터베이스 트랜잭션(ACID) 문제단일 모놀리식 시스템에서는 ACID(Atomicity, Consistency, Isolation, Durability) 트랜잭션을 활용하여 데이터 일관성을 유지할 수 있음.하지만 마이크로서비스 환경에서는 서로 다른 DB에 걸친..
2025.02.28 -
Microservice build/deployment patterns
📌 마이크로서비스 빌드/배포 패턴(Microservice Build/Deployment Patterns)마이크로서비스 아키텍처에서는 각 인스턴스가 동일해야 하며, 배포 후 서버 구성(Configuration)이 변하지 않아야 합니다.📌 아래 그림에서는 이러한 원칙을 실현하기 위한 빌드 및 배포 패턴을 설명합니다.🔹 1. 빌드 및 배포 파이프라인(Build and Deployment Pipelines)일관된 빌드 및 배포 프로세스를 구축하여, 원클릭 배포(One-Button Deployment) 가능하도록 설계.지속적 통합/배포(CI/CD) 파이프라인을 활용하여 코드가 변경될 때마다 자동으로 테스트 및 배포 진행.Jenkins, GitHub Actions, GitLab CI/CD, ArgoCD 등을 ..
2025.02.28 -
Application metrics pattern
📌 애플리케이션 메트릭 패턴(Application Metrics Pattern)마이크로서비스 환경에서는 애플리케이션의 상태를 모니터링하고 성능 문제를 사전에 감지하는 것이 중요합니다.📌 아래 그림에서는 마이크로서비스의 메트릭을 수집하고 시각화하는 애플리케이션 메트릭 패턴을 설명합니다.🔹 1. 애플리케이션 메트릭(Metrics)애플리케이션 상태 및 성능을 측정하는 다양한 지표를 생성하고 노출하는 과정.예제:CPU 사용량, 메모리 사용량, 응답 속도, 에러율, 요청 수량 등.Spring Boot Actuator를 활용하면 기본적인 메트릭을 쉽게 노출할 수 있음.✅ 장점✔ 서비스 장애 및 성능 문제를 조기에 감지 가능✔ 실시간 데이터 분석을 통해 최적화 가능🔹 2. 메트릭 서비스(Metrics Serv..
2025.02.28 -
Microservice logging and tracing patterns
📌 마이크로서비스 로깅 및 트레이싱 패턴(Microservice Logging and Tracing Patterns)마이크로서비스 아키텍처에서는 단일 요청이 여러 개의 서비스 호출을 유발하기 때문에, 디버깅, 추적(Tracing), 모니터링이 어렵다는 단점이 있습니다.📌 아래 그림에서는 이러한 문제를 해결하기 위한 3가지 핵심 로깅 및 트레이싱 패턴을 설명합니다.🔹 1. 로그 상관관계(Log Correlation)마이크로서비스 환경에서는 각 서비스가 개별적인 로그를 남기기 때문에, 하나의 요청이 여러 서비스에서 어떻게 처리되었는지 추적하기 어려움.Correlation ID(상관관계 ID)를 활용하면 각 서비스에서 생성된 로그를 하나의 트랜잭션 흐름으로 묶을 수 있음.Spring Cloud Sleut..
2025.02.28