huzit
___을 입력해주세요
huzit
전체 방문자
  • 분류 전체보기 (137)
    • 안드로이드(Compose) (10)
      • UI (4)
      • 개념 (6)
    • 안드로이드 (50)
      • 기본개념 (6)
      • 응용 (4)
      • Debug (18)
      • Binding (3)
      • RecyclerView (5)
      • Firebase (6)
      • Retrofit (1)
      • Activity & Fragment (4)
    • 코틀린 (22)
    • 코딩테스트 (38)
      • 백준 (10)
      • 프로그래머스 (28)
    • 일상 (6)
    • CS 지식 (4)
    • 라즈베리파이 (7)

블로그 메뉴

  • 홈
  • 태그
  • 글쓰기
  • 관리

공지사항

인기 글

태그

  • Java
  • Retrofit
  • jetpack
  • 공돌카돈
  • gts4mini
  • Kotlin
  • 코틀린
  • firebase
  • 라즈베리 파이
  • compose
  • Debug
  • IFTTT
  • docker
  • FCM
  • RecyclerView
  • Android
  • 브레빌 밤비노 플러스
  • 프로그래머스
  • 공돌이파파
  • recyclerView ClickEvent

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
huzit

___을 입력해주세요

Monolithic vs MicroService(MSA)
CS 지식

Monolithic vs MicroService(MSA)

2022. 6. 13. 02:59
728x90

Monolithic

Monolithic이란 '한 덩어리로 뭉친', '하나의 구조로 된' 의미를 가지고 있다.
프로젝트 하나가 하나의 아키텍처로 뭉쳐진 구조를 뜻한다.
기존에 하나의 서버를 두고 그 서버 내에서 모든 작업을 처리하는 구조로 생각하면 편하다.

Monolithic 구조의 장점

  • 작은 규모의 프로젝트 개발 시 효율적
  • 배포와 테스트가 간편(하나의 패키지로 묶여 있기 때문)

단점

  • 확장의 어려움(대형 프로젝트 개발 시 확장성에서 문제가 생긴다)
  • 하나의 서비스가 다른 서비스와 문제를 일으킬 수 있다
  • 배포 시 모든 서비스가 중단됨

MicroService

Monolithic와 반대대는 개념
전체 서비스를 잘게 나누어 이루어진 구조
하나의 애플리케이션을 기능별로 패키 징하여 여러 개의 작은 애플리케이션으로 나누어 서비스를 담당하도록 설계하는 구조이다.

장점

  • 개별 서비스 단위 배포 가능 -> 새로운 기능을 적용하기 편함
  • 서버 확장이 용이함
  • 요구사항의 잦은 변경에 대응하기 쉬움

단점

  • 문제 해결이 쉽지 않음
  • 환경이 분산되는 만큼 유지보수에 자원이 더 들어감
  • 테스팅 과정이 복잡해짐
  • Monolithic와 비교해서 구현이 어려움
  • API 호출을 통한 통신 구조상 네트워크에 의해 성능 이슈 발생
  • 트랜잭션 처리 성능 향상에 대한 비용

즉 MSA의 목표는

Application을 나누어 클라우드 환경에서 운영하며 확장이 용이한 구조로 설계한다.

로 볼 수 있다.

728x90
저작자표시 (새창열림)

'CS 지식' 카테고리의 다른 글

블록, 논 블록, 동기, 비동기  (0) 2022.06.28
인스턴스변수의 재할당  (0) 2022.06.13
객체와 클래스, 인스턴스  (0) 2022.06.13
    'CS 지식' 카테고리의 다른 글
    • 블록, 논 블록, 동기, 비동기
    • 인스턴스변수의 재할당
    • 객체와 클래스, 인스턴스
    huzit
    huzit
    simple is best

    티스토리툴바