Skip to content

MSA ‐ Microservice와 Spring Cloud

Woo Jin Jang edited this page Jun 2, 2025 · 1 revision

📚 Monolith Architecture vs Microservice Architecture

[ Monolith Architecture ]

  • 모든 업무 로직이 하나의 애플리케이션 형태로 패키지되어 서비스
  • 애플리케이션에서 사용하는 데이터가 한 곳에 모여 참조되어 서비스되는 형태

[ Microservice Architecture ]

image

  • 전체 시스템을 여러 개의 작은 서비스(마이크로서비스)로 분리하여 각각 독립적으로 개발, 배포, 운영할 수 있는 아키텍처
  • 각 서비스는 특정 비즈니스 기능을 담당하며, 자체 데이터베이스와 저장소를 가질 수 있음
  • 서비스 간에는 주로 API(REST, gRPC 등)를 통해 통신하며, 느슨하게 결합되어 있음
  • 개별 서비스의 확장, 장애 대응, 배포가 용이하여 민첩성과 유연성이 높음
  • 다양한 기술 스택을 서비스별로 선택하여 적용할 수 있음

📚 SOA vs MSA

  • 서비스 공유 지향점에서의 차이
    • SOA - 재사용을 통한 비용 절감
    • MSA - 서비스 간 결합도를 낮추어 변화에 능동적으로 대응
  • 기술 방식
    • SOA - 공통 서비스를 ESB에 모아 사업 측면에서 공통 서비스 형식으로 제공
    • MSA - 각 독립된 서비스가 노출된 REST API를 사용

📚 Spring Cloud

  • Spring Cloud는 마이크로서비스 환경에서 필요한 다양한 인프라 문제(서비스 등록/발견, 설정 관리, 장애 대응, 트래픽 관리 등)를 손쉽게 처리할 수 있도록 여러 프로젝트를 통합한 솔루션
  • Spring Boot와 함께 사용하면 마이크로서비스 개발이 더욱 간편

📖 Java

📖 Kotlin

📖 Coroutine

📖 Spring

📖 Spring Security

📖 Spring Batch

📖 Reactive Programming

📖 Database

📖 MySQL

📖 Redis

📖 JPA

📖 QueryDsl

📖 MSA

📖 Kafka

📖 Apache Flink

  • [Apache Flink - Apache Flink Architecture]
  • [Apache Flink - Stream Processing]
  • [Apache Flink - Data Stream API & Window]
  • [Apache Flink - State Management]

📖 HTTP

📖 AWS

📖 Docker

📖 Kubernetes

📖 CI/CD

📖 Nginx

📖 Monitoring🥈

  • [Monitoring - Log Concept]
  • [Monitoring - Log Level & Filter]
  • [Monitoring - Logback]
  • [Monitoring - Log Collection with ELK Stack]
  • [Monitoring - Log Monitoring with Kibana]
  • [Monitoring - Building a Monitoring System with Spring Boot Actuator]
  • [Monitoring - Server Monitoring with Prometheus and Grafana with Discord Alerts]

📖 Test

📖 Effective Java 3/E

📖 Kotlin Academy - Effective Kotlin

📖 Kotlin Academy - 핵심편

📖 스프링으로 시작하는 리액티브 프로그래밍

📖 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1

📖 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2

📖 Clean Code

📖 리팩토링 2판

📖 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

📖 GraphQL

Clone this wiki locally