2026/01(44)
-
Service Discovery
✨ 서비스 디스커버리(Service Discovery)란?분산 아키텍처에서 중요한 과제 중 하나는 특정 머신이 어디에서 실행되고 있는지를 찾는 것입니다. 이는 분산 컴퓨팅이 등장한 이래로 항상 해결해야 할 문제였으며, 이를 "서비스 디스커버리(Service Discovery)"라고 부릅니다.서비스 디스커버리는 단순하게 프로퍼티 파일에 모든 원격 서비스의 주소를 기록하는 방법부터, UDDI(Universal Description, Discovery, and Integration) 저장소와 같은 공식적인 방식까지 다양하게 존재합니다. 특히, 마이크로서비스 및 클라우드 기반 애플리케이션에서는 두 가지 핵심 이유로 인해 서비스 디스커버리가 필수적입니다. 🛠️ 서비스 디스커버리가 중요한 이유1. ⬆️ 수평 확장..
2026.01.10 -
Controlling your configuration with the Spring Cloud Configuration Server
🚀 Spring Cloud Configuration Server를 활용한 설정 관리🎯 애플리케이션 설정과 코드의 분리소프트웨어 개발에서 가장 중요한 원칙 중 하나는 애플리케이션 설정을 코드에서 분리하는 것입니다.✅ 하드코딩된 설정값을 피해야 하는 이유코드에 직접 설정값을 넣으면 설정 변경 시 애플리케이션을 다시 컴파일 및 배포해야 함배포 속도가 느려지고, 유지보수가 어려워짐✅ 설정을 코드에서 완전히 분리하면?개발자와 운영팀이 설정을 쉽게 변경할 수 있음애플리케이션을 다시 빌드하지 않고도 설정을 동적으로 변경 가능하지만 새로운 설정 파일을 별도로 관리해야 하므로 복잡성이 증가📌 따라서, 설정 관리를 체계적으로 하기 위해 Spring Cloud Configuration Server를 활용할 수 있음!?..
2026.01.10 -
Exploring the microservices world with Spring Cloud
🚀 마이크로서비스 아키텍처, 왜 이렇게 복잡해질까?Spring Cloud로 장애를 최소화하고, 확장성과 운영 효율을 극대화하는 방법마이크로서비스 아키텍처(MSA)는 더 이상 거창한 최신 기술이 아닙니다. 대규모 서비스를 운영하는 대부분의 기업이 이미 도입하거나 도입을 고려하고 있죠.하지만… 멀리서 보면 멋지고 유연해 보이지만, 실제 운영해 보면 금방 드러납니다.“시스템이 분산될수록 장애는 더 쉽게 발생한다.” 😨 이 챕터에서는 왜 마이크로서비스는 쉽게 장애가 생기는지, 이를 예방하려면 어떻게 해야 하는지, 그리고 Spring Cloud가 어떤 역할을 해주는지 정리해드립니다. 🧩 마이크로서비스는 왜 장애 가능성이 높을까?마이크로서비스 세계에서는 더 이상 하나의 모놀리식 애플리케이션이 모든 기능을 책임..
2026.01.10 -
Spring Cloud Gateway Reactive 라이프사이클
🚀 Spring Cloud Gateway Reactive 라이프사이클— Predicate → Filter → Netty, 논블로킹 파이프라인의 정수스프링 클라우드 게이트웨이(Spring Cloud Gateway, SCG)에서 요청이 들어와 처리되고 다시 나가는 전 과정은Reactive(비동기 · 논블로킹) 아키텍처의 교과서라고 할 수 있습니다.이 쳅터에서는 SCG가👉 Predicate로 길을 찾고,👉 Filter로 요청·응답을 가공하며,👉 Netty로 실제 네트워크 통신을 수행하는전체 라이프사이클을 정리해 보겠습니다. ✍️🧭 1. 전체 흐름 한눈에 보기 (High-Level Flow)SCG로 들어온 하나의 HTTP 요청은 아래와 같은 비동기 파이프라인을 따라 이동합니다.Client ↓Netty..
2026.01.07 -
Filter
🚦 SCG FilterSCG의 필터는 한 줄로 요약하면:ServerWebExchange(요청+응답 컨텍스트)를 받아서, 다음 체인으로 넘기기 전/후에 가공하는 함수형 미들웨어 입니다. 🧩그리고 WebFlux이므로, “전/후처리”는 동기 try/finally가 아니라 Mono 체인으로 구성됩니다.1) 🧠 필터 체인 구조: “양파껍질” 모델SCG 요청 흐름은 대략 이렇게 이해하시면 정확합니다.요청이 Gateway에 들어옴Route 매칭(Predicate)필터 체인 구성GlobalFilter들 + 해당 Route의 GatewayFilter들필터 체인 실행Pre는 순서대로 “들어가며” 실행Post는 역순으로 “나오며” 실행실제 라우팅/프록시(Netty routing filter 등)응답을 다시 필터 체인으..
2026.01.07 -
Route vs Microservice
🚦 Spring Cloud Gateway에서 Route와 Microservice의 관계― “Route는 서비스가 아니라, 서비스로 가는 출입 명부다”Spring Cloud Gateway(SCG)를 학습하다 보면 거의 반드시 마주치는 질문이 있습니다.❓ “Route 하나가 곧 마이크로서비스 하나 아닌가요?”이 질문은 아주 정확하고, 동시에 아키텍처의 본질을 찌르는 질문입니다.결론부터 말씀드리면 다음과 같이 정리하는 것이 가장 정확합니다.✅ Route는 마이크로서비스 그 자체는 아니다.✅ 하지만 마이크로서비스로 들어가는 ‘논리적인 이정표’이자 ‘출입 명부’다.이 쳅터에서는 Route와 Microservice의 관계를 구조적으로 정리해 보겠습니다. 🧠✨1️⃣ Route vs Microservice — 개념..
2026.01.07