MSA 아키텍처란 무엇일까?

이해찬·2023년 10월 5일
0

TIL

목록 보기
19/20

2023.10.05

🤷‍♂️ 1. 마이크로서비스란 무엇인가??

모노리스 시스템

  • 단일 프로세스로 실행
  • 한꺼번에 수정, 배포되어야 함
  • 하나가 실패하면 전체가 실패 특정 실패 부분을 찾아내기 어려움
  • 스케일 아웃의 대상 -> 모노리스 전체
  • 이것만으로 충분히 확정성,탄력성이 보자 가능하나 전체를 확장 -> 비용이 비효율


마이크로서비스 시스템

  • 서비스는 각기 다른 독립적인 기능 제공
  • 독립적으로 수정 가능하며 별도 배포, 확장 가능
  • 하나의 서비스 실패는 전체 실패가 아닌 부분적인 실패를 의미


Martin Folwer

  • 중앙 집중 -> api는 java 데이터는 오라클 등 중앙에서 정해줘서 일괄적으로 진행
  • 폴리그럿 -> 대략적인 가이드만 잡고 서비스 내에서 잘 쓰거나 활용할 수 있는 형태로 개발
    ->각 서비스는 서로 다른 언어, 데이터, 저장 기술 사용



2. 아키텍처란?

  • 아키텍처 특성 : 시스템의 속성, 가용성,민첩성,탄력성 등의 해당 시스템이 가져야 할 주요한 속성들
  • 아키텍처 결정 : 시스템의 제약조건, 지켜야할 규칙
    -> 이미 검증된 아키텍처 특성,스타일,패턴 등을 선택하는 것
  • 설계 원칙 : 아키텍처 결정을 만족시키는 가이드 라인
  • 시스템 구조 : 위의 원칙에 적합한 상위 수준의 시스템 구조를 정의

레이어드 아키텍처

  • 사실상의 표준 아키텍처
  • 관심사의 분리, 기술 분할
  • 아키텍처 결정사항 : 레이어 개방/ 폐쇄 여부
  • 스프링의 mvc패턴 -> 프레젠테이션 레이어 부분에 속한 것

profile
디자인에서 개발자로

0개의 댓글