모놀리식 아키텍처와 마이크로서비스 아키텍처 차이점 - dnwls16071/Backend_Summary GitHub Wiki

📚 문제 - 아키텍처 선택 과정

  • 회사에서 문자메시지 서비스를 Kafka 기반으로 전환하는 업무를 맡게 되었다. 기존 동기 방식의 문자 발송 로직을 이벤트 기반 비동기 처리로 개선하는 것이 목표였는데, 다른 긴급 이슈들로 인해 프로젝트 우선순위가 밀리면서 잠정 보류되었다.
  • 이 과정에서 EDA(Event-Driven Architecture)와 Kafka에 대한 실무 경험을 쌓을 기회를 놓치게 되었고, 언제 다시 진행될지 불확실한 상황이었다. 단순히 이론만 공부하는 것보다 직접 구현해보면서 배우는 것이 중요하다고 생각했고, 특히 회사에서 실제로 도입하려던 기술이기에 미리 경험해두면 실무 복귀 시 빠르게 적응할 수 있을 것 같았다.
  • 그래서 연휴 기간을 활용해 Kafka 기반의 이벤트 주도 아키텍처를 직접 구현해보기로 결정했다. 게시판 스타일의 토이 프로젝트를 선택한 이유는 게시글 작성, 댓글 알림, 좋아요 이벤트 등 다양한 비동기 처리 시나리오를 실습하기에 적합했기 때문이다.

📚 해결 - 아키텍처 비교 분석

토이 프로젝트지만 마이크로서비스 아키텍처를 선택한 이유는 다음과 같다.

  1. Kafka 이벤트 기반 통신 경험: 서비스 간 REST API가 아닌 이벤트 메시지로 통신하는 패턴 학습
  2. 회사의 MSA 방향성에 맞춰 경험 축적
  3. 명확한 도메인 분리 : 게시글/댓글/좋아요 등 서비스로 분리해 각각 독립적인 이벤트로 처리

시스템 구성

  • 게시글 서비스
  • 댓글 서비스
  • 좋아요 서비스
  • 인기글 서비스
  • 알림 서비스

📚결과 - 아키텍처 도입 결과