[OTHER] 마이크로 서비스 아키텍처

2021. 9. 28. 14:40·OTHER
728x90

Microservices

https://dzone.com/articles/microservice-architecture-learn-build-and-deploy-a

  • 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성
  • 구성 : Container, Funcations, API Gateway 등

MSA 등장배경

  • 모놀리식 아키텍처에 한계점으로 인해 등장함
  • 모놀리식의 경우 서비스 변경이 어려움 (여러 컴포넌트가 하나의 서비스에 강하게 결합되어 있어, 수정시 영향도가 큼)
  • 모놀리식은 모든 구성요소가 한프로젝트에 통합되어 있는 형태라 규모가 커질 수록 작은 변경에도 높은 테스트 비용이 발생하며, 하나의 시스템을 개발하여 배포하기 때문에 배포시 비용이 큼
  • 모놀리식 아키텍처에서 부분 서비스 장애시, 전체 서비스의 장애로 확대될 가능성이 큼

MSA 특징

  • 애플리케이션 로직을 각자 책임이 명확한 작은 컴포넌트 들로 분해하고 이들을 조합한 솔루션을 제공
  • 각 컴포넌트는 작은 책임 영역을 담당하고 완전히 상호 독립적으로 배포됨, 마이크로서비스는 비즈니스 영역의 한부분에서만 책임을 담당, 여러 애플리케이션에서 재사용이 가능해야함
  • 마이크로서비스는 몇가지 기본 원칙에 기반을 둠, 서비스 소비자와 서비스 제공자 사이의 데이터 교환을 위해 HTTP / JSON과 같은 경량 통신 프로토콜을 사용
  • MSA는 API를 통해서만 상호작용 할 수 있음, end-point를 API형태로 외부에 노출하고, 실질적인 세부 사항을 모두 추상화 (내부 구현로직, 아키텍처 프로그랭언어, 데이터베이스 등 철저하게 가려짐)
  • 작고 독립적이라서 분산된 마이크로서비스 특징을 살려 명확하게 정의된 책임 영역을 담당하는 소규모 팀을 구성할 수 있음

 

저작자표시

'OTHER' 카테고리의 다른 글

[OTHER] Semantic Versioning  (0) 2022.04.07
[OTHER] TDD (테스트 주도 개발론)  (0) 2021.11.14
[OTHER] 모놀리식 아키텍처  (0) 2021.07.12
[NETWORK] Polling / Long Polling / Streaming  (0) 2021.06.10
[OTHER] 블록킹 / 논블록킹과 동기 / 비동기  (0) 2021.06.07
'OTHER' 카테고리의 다른 글
  • [OTHER] Semantic Versioning
  • [OTHER] TDD (테스트 주도 개발론)
  • [OTHER] 모놀리식 아키텍처
  • [NETWORK] Polling / Long Polling / Streaming
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    Spring
    코틀린
    프로그래머스
    클린코드
    AWS
    docker
    이펙티브코틀린
    splunk
    Kafka
    엘라스틱서치
    Elk
    ElasticSearch
    이펙티브 코틀린
    IntelliJ
    자바
    JPA
    go
    java
    cleancode
    SQL
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[OTHER] 마이크로 서비스 아키텍처
상단으로

티스토리툴바