MSA 5

Monolith vs Microservices

Monolith 아키텍처 모든 업무 로직이 하나의 애플리케이션 형태로 패키지 되어 서비스애플리케이션에서 사용하는 데이터가 한 곳에 모여 참조되어 서비스되는 형태해당 방식의 문제점 하나의 시스템에 애플리케이션을 구성하고 있는 모든 서비스라든가 요소들이 패키징되어 서비스가 되고 있기 때문에서비스의 일부가 수정되거나 삭제된다 하더라도 전체 애플리케이션을 다시 빌드하고 테스트하고 패키징하고 배포하는 과정을 거쳐야한다는 점 MicroService 아키텍처 여러 개의 작은 서비스 단위로 쪼개져서 개발, 배포가 되고 운영하는 방식작은 단위로 만들어지고 개별적으로 분리되어 있는 서비스개발과 배포와 운영이 각각 독립적인 사이클을 갖고 만들어진다는 것이 가장 큰 특징서로 간의 통신을 위해 HTTP프로토콜 사용 - 필요한..

MSA 2026.01.02

12 Factors

12 Factors 클라우드 네이티브 어플리케이션을 개바하거나 서비스를 운영할 때 고려해야 될 항목을 정리 한 것 Heroku라는 회사에서 자사의 고객들을 상대로 클라우드 서비스 시 발생했던 문제점이라든가 개선점 그리고 시행착오를 바탕으로 해서 이러한 가이드라인을 만들어서 배포를 했다고 함 12 Factors에서는 코드의 통합, 종속성의 배제, 환경설정에 대해서 외부관리, 백업서비스의 분리, 개발환경과 테스트, 운영환경의 통일성 유지, 로그의 분리, 관리 프로세스 등 소개를 하고있음 1. Base Code - 코드베이스하나의 애플리케이션에는 하나의 코드베이스를 사용한다.그런 코드베이스에 의해서 여러 배포 환경으로부터 분기가 가능하도록 구축하는 것이 좋다.2. Dependency Isolation - 의..

MSA 2026.01.02

Cloud Native Application

Cloud Native Application 방식으로는 크게 3가지로 나눠짐 CI/CD + DevOps + Container 가상화 1. CI/CD CI (Continous Integration) : 지속적인 통합통합 서버, 소스 관리(SCM), 빌드 도구, 테스트 도구 ex) Jenkins, Team CI, Travis CI CD : 지속적 배포Continuous Delivery (수동 반영)Continous Deployment (자동 반영)Pipe line배포 전략 : 카나리 배포와 블루 그린 배포카나리 배포95% 사용자를 이전 버전 서비스 사용5% 사용자를 새 버전 서비스 사용블루 그린 배포점진적으로 새로운 버전으로 옮겨갈 수 있는 방식 2. DevOps Development + Operations..

MSA 2026.01.02

[MSA-초기세팅]🏗️ MSA 환경 구성 (1)

지난 글 [기획/설계] DDD 기반 설계와 EventStorming 도입하기에서도메인을 기능 단위로 나누고, 각 서비스의 역할과 경계를 정리했습니다. 이번에는 그 설계를 실제로 구현할 MSA 개발 환경을 세팅해보려 합니다.여기서 말하는 ‘환경 세팅’은 단순히 프로젝트를 여러 개로 나누는 걸 넘어,각 서비스가 독립적으로 실행되고 서로 통신하며, 배포 가능한 상태로 만드는 것을 의미합니다.📚 시리즈 구성이 시리즈는 다음 순서로 진행됩니다.MSA 환경 구성 – 각 서비스의 공통 환경과 인프라 구조 설정 (현재 글)멀티모듈 구성 – 공통 모듈, Proto 공유, Gradle 설정Spring Cloud Config (Private Repo) – 설정 중앙화 및 비공개 레포지토리 관리Eureka (Server/C..

MSA 2025.10.09

[MSA-기획/설계] DDD기반 설계 EventStorming 도입하기

작성: 2025.05.20🌈이벤트 스토밍 도입 배경MSA 기반 중고거래 플랫폼을 만들기로 하여 ERD를 구상하기로 했습니다.처음에는 무작정 서비스를 도메인 별로 나누었더니 회원 + 프로필 / Auth / 상품+관심상품+상품검색/ 거래+배송/ 알림 / 신고 + 관리자 기능 / 커뮤니티, 커뮤니티 검색 / 채팅 이렇게 9개로 구분을 했었습니다.그런데 이렇게 자잘하게 나누다보니 마이크로서비스 간의 호출이 너무 잦게되어 오버스펙으로 판단이 되었기에 이에 대해서 멘토님께 “회원을 처리할 때 인증 인가 부분을 Auth 서비스에서 책임지게 하고, Memeber 서비스에서는 회원 등록, 수정, 탈퇴 등 프로필 관리만 할 수 있도록 나누는 것이 괜찮을까요?” 라고 질문을 드렸었고, 이에 대한 답은 “너무 오버스펙인 것..

MSA 2025.10.09