Skip to content

Architecture ‐ MSA(Microservice Architecture)

dnwls16071 edited this page Jun 12, 2025 · 1 revision

📚 MSA 개요

  • 독립적이고 느슨하게 결합된 서비스
  • 서비스 별로 코드 베이스를 구분해 독립적이고 소규모로 관리
  • 잘 정의된 API를 사용하여 통신
  • 각각의 서비스는 독립적이고 자율적으로 배포 가능
  • 독립적인 다양한 기술 스택 사용 가능
  • 다른 서비스와 공유되지 않는 스토리지 사용 가능
  • 단일 책임 원칙(SRP)에 따라 서비스의 책임을 분리한다.
스크린샷 2025-06-12 오후 8 57 05
  • 비즈니스 역량을 중심으로 서비스 구성
  • 서비스 별로 컴포넌트화
  • 분산된 책임 소재 -> Single Responsibility Principle
  • InfraStructure 자동화 -> Inner/Outer Architecture
  • Design for failure -> 잠재적 실패를 예상하고 계획

📚 MSA 장단점

  • (+) 민첩한 배포가 가능
  • (+) 유연한 확장성
  • (+) 소규모의 집중된 팀
  • (+) 소규모의 분리된 코드 관리
  • (+) CI/CD
  • (+) 다양한 기술 스택 적용 가능
  • (+) Resilience & Fault Isolation
  • (+) Data Isolation
  • (-) 복잡도 증가
  • (-) Network Latency
  • (-) 테스트와 개발이 어려움
  • (-) Data Integrity
  • (-) Deployment
  • (-) Logging & Monitoring
  • (-) Debugging

📖 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