무중단 배포, API Gateway |
I. 독립적 배치 가능한 서비스를 작은 단위로 분해, MSA의 개요
가. MSA(Micro Service Architecture)의 정의
- 무중단 배포를 위해 독립적으로 배치될 수 있는 작은 단위(모듈)로 기능을 분해하여 서비스하는 아키텍처
나. MSA의 등장배경
- 기술환경변화, 웹 서비스 레거시화, 서비스 공유의 일반화
다. MSA의 특징
- 서비스 단위의 컴포넌트화, 비즈니스 기능 중심구성, 프로젝트가 아닌 제품, 스마트 엔드포인트와 간단한 파이프, 개발의 분권화, 데이터 관리의 분권화, 인프라 자동화, 장애를 전제로 한 설계, 변화에 대응하는 설계
II. MSA의 구성도 및 구성요소
가. MSA의 구성도
- API G/W는 API 통신 중계, 공통 기능 추상화 역할
나. MSA의 구성요소
구성요소 |
세부기능 |
내용 |
API G/W |
- 라우팅 - 로드밸런싱 |
- 상호 독립적 API 서비스 중계 - 인증/로깅, 공통기능 추상화 |
API Servers |
- 비즈니스 기능분리 |
- 배포 가능한 단위로 분리 - 개별 서비스를 API 형태 구현 |
Database |
- RDB, SQL - NoSQL 등 |
- 각 API 서버에서 사용 - 다양한 기술 기반 DB |
I/F 및 통신 |
- HTTP - REST, JSON |
- 표준 기반 경량 인터페이스 - 표준 기반 통신 규약 |
Client |
- Web - Mobile |
- 클라이언트 어플리케이션 - MSA 의 API 서비스 소비 |
- SO > SOA > MSA (MSA는 SOA 사상에 근간을 두고 대용량 분산 웹 서비스에 맞는 구조로 경량화)
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
웹 접근성(Web Accessibility) (0) | 2021.02.01 |
---|---|
UX (User eXperience) (0) | 2021.02.01 |
클래스 재사용 (0) | 2021.01.31 |
디자인패턴(Design Pattern) (0) | 2021.01.31 |
콜백함수 (0) | 2021.01.31 |
IoC (Inversion of Control) (0) | 2021.01.31 |
전자정부 프레임워크 (0) | 2021.01.31 |
스프링 프레임워크(Spring Framework) (0) | 2021.01.31 |
댓글