강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

마이크로서비스 디자인 패턴 완벽 가이드

이 과정은 마이크로서비스 애플리케이션 개발을 위한 MSA 디자인 패턴과 구현 전략에 필요한 다양한 내용 및 패턴과 설계에 대해 배워보는 과정입니다. 기존의 모놀리식 애플리케이션을 MSA 방식으로 성공적으로 전환하는 데 필요한 핵심 지식과 실질적인 방법론에 대해서 학습하게 됩니다. 마이크로서비스 아키텍처의 근간을 이루는 다양한 디자인 패턴에 대해 분석하고, 각 패턴이 어떤 상황에 적합하며 어떻게 적용되는지 학습할 수 있습니다.

(4.8) 수강평 17개

수강생 433명

난이도 초급

수강기한 무제한

  • Dowon Lee
마이크로서비스
마이크로서비스
이론 실습 모두
이론 실습 모두
마이크로서비스
마이크로서비스
이론 실습 모두
이론 실습 모두
새소식 목록
관리
작성

Microservice Architecture를 위한 Design Pattern 강의가 오픈되었습니다.

안녕하세요, 이도원입니다.

 

이번에 새롭게 Microservice Architecture를 위한 Design Pattern 강의를 오픈하였습니다.

정말이지 너무나도 힘들고 바뻤던 2024년을 뒤로 하고, 새롭게 2025년도 벌써 5월이 지나가고 있네요.

프로젝트에 집필에 강의에 개인사에 여러가지 일들이 많았지만, 그래도 오랬동안 미뤄왔던 강의를 하나 오픈하게 되었습니다.

  • Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

  • Jenkins를 이용한 CI/CD Pipeline 구축

  • DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)

  • 마이크로서비스 디자인 패턴을 적용한 MSA 애플리케이션 개발

강의에 이어 애플리케이션 구축에 필요한 디자인 패턴에 대한 강의를 준비했습니다. 처음에 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) " 강의를 기획할 때, Cloud Native에 대한 기본적인 강의를 완료하고 다음 단계로 디자인 패턴과 실무에 적용해 볼 수 있는 아키텍처들을 통해 웹 서비스를 개발해 보는 강의를 기획했었는데, 생각보다 시간이 오래 걸렸습니다. 그래도 여러가지 패턴을 몇가지 그룹으로 정리해서 강의를 오픈하게 되었으니 많은 관심 바랍니다.

 

이번 강의에서는 다음과 같은 패턴을 다루고 있습니다.

  • API 게이트웨이 (API Gateway): 클라이언트의 모든 요청을 단일 진입점에서 받아 인증, 로깅, 라우팅 등을 처리하는 패턴입니다. 여러 마이크로서비스를 한 곳에서 관리할 수 있습니다.

  • 서비스 디스커버리 (Service Discovery): 동적으로 변화하는 서비스 인스턴스들의 위치를 중앙 레지스트리에 등록하고 찾는 패턴입니다. 이를 통해 서비스 간 통신 시 주소를 자동으로 탐색합니다.

  • 동기 (Synchronous)& 비동기 (Asynchronous) 통신: 동기 통신은 요청을 보낸 서비스가 응답을 받을 때까지 기다리는 방식으로, 응답이 올 때까지 스레드가 블로킹 됩니다. REST / gRPC / GraphQL API 방식으로 동기 통신을 구현할 수 있습니다. 비동기 통신은 요청을 보낸 서비스가 응답을 기다리지 않고 즉시 다음 작업을 진행하는 방식으로, Kafka와 같은 메시지 브로커를 통해 이벤트를 발행하고, 구독하는 방식으로 통신하게 됩니다.

  • 서킷 브레이커 (Circuit Breaker): 한 서비스의 장애가 연쇄적으로 퍼지는 것을 막기 위해 호출을 단락시키는 패턴입니다. 외부 서비스가 불능일 때 일정 시간 호출을 중단하고 빠른 실패(Fail-fast)를 유도합니다.

  • 폴백 (Fallback) 처리: 서킷 브레이커 등이 작동했을 때 대비책으로, 대체 응답이나 재시도 로직을 제공하는 패턴입니다. 부분 장애 시 시스템의 탄력성(resilience)을 높여 줍니다.

  • 사가 패턴 (Saga): 분산된 서비스들에서 데이터 일관성을 유지하기 위한 분산 트랜잭션 패턴입니다. 각 서비스의 로컬 트랜잭션을 이벤트/메시지로 연결하여 최종 일관성을 보장합니다.

  • CQRS & 이벤트 소싱:CQRS(Command Query Responsibility Segregation)는 읽기와 쓰기 모델을 분리하여 확장성을 높이는 패턴이고, 이벤트 소싱(Event Sourcing)은 상태 변경을 이벤트 로그로 저장해 이력 기반으로 상태를 복원하는 패턴입니다. 함께 사용되어 복잡한 비즈니스의 데이터를 관리합니다.

  • EDA: Event Driven Architecture는 이벤트의 생성, 감지, 소비 및 사용을 중심으로 시스템을 설계하는 소프트웨어 아키텍처 패턴입니다. 마이크로서비스 애플리케이션들의 구성요소들이 '이벤트'를 통해 서로 통신하고 상호작용하는 방식입니다.

  • BFF (Backend for Frontend): 웹, 모바일 등 플랫폼별 특화된 백엔드를 제공하는 패턴입니다. 각 프론트엔드의 요구에 맞는 전용 API 계층을 만들어 효율성과 개발 생산성을 높입니다.

이제 그동안 미뤄왔던, "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) " 강의를 시작으로, 기존 강의들의 콘텐츠를 업데이트 하려고 합니다. 강의를 오픈한지도 시간이 꽤 흘렀고, 최신 내용으로 다시 만들지 않으면 안되곘다는 생각을 계속 해 왔었는데, 더 늦지 않게 업데이트 하려고 합니다.

강의에 관심을 가져 주신 분들께 다시한번 감사드리며, 질문과 피드백 등 남겨 주시면, 최신을 다해 빠르게 답변드리도록 하겠습니다.

감사합니다.

 

 

댓글