[소공 목차]
1. 마이크로 서비스 아키텍쳐 개요
- 하나의 큰 어플리케이션을 여러 개의 작은 마이크로서비스 단위로 나누어 변경과 조합이 가능하도록 구성된 아키 텍쳐
- 소프트웨어 응용 프로그램을 독립적으로 배치 가능한 서비스 단위로 분리하고, 이들의 조합으로 시스템을 구성하는 아키텍처 스타일
- 데이터에서부터 비즈니스 로직까지 독립적으로 상호 컴포넌트간의 의존성이 없이 개발된 컴포넌트로 REST API와 같은 표준 인터페이스로 그 기능을 외부로 제공하기 위한 서비스 아키텍처
- 특징) 소규모 팀이 다룰 정도의 크기가 충분히 작아야함.
다른 서비스와 영향을 주고 받지 않고 자율적 개발, 배포, 운영, 확장 할 수 있어야 함. - 필요성) 스트리밍 서비스-넷플릭스 예) 장애 발생시, 전체서비스를 다운하고 대응해야 하는 부분에서 마이크로 서비스 단위만 수정 배포를 통해 전체 사이트 장애를 막을 수 있다.
모놀리스 시스템의 특정 기능의 조회가 많고 요구사항에 의해 빈번한 업데이트가 필요시 전체프로그램을 업데이트 해야함(MSA는 특정 서비스만 수정, 배포가 가능함.)
2. 마이크로 서비스 아키텍쳐 구성도 및 구성 요소
1) 마이크로 서비스 아키텍쳐 구성도
2) 마이크로 서비스 아키텍쳐 구성요소
구분 | 세부항목 | 설명 |
Front-end Tier (외부, 화면) |
HTTP Rest API | 표준기반의 경량의 인터페이스와 통신규약 비동기 병렬처리 |
JSON | ||
Middle Tier (비지니스로직) |
API Gateway(단일접점 제공 라우팅/로드밸런싱) |
API 서비스들을 중계, 인증, 로깅 등과 같은 공통 기능의 추상화 계층 |
Micro Service(비즈니스 분리 독립적 배포 ) |
완전 자동화된 개발 및 배포환경에 의해 독립적 배포 가능 | |
Back-end Tier (데이터) |
RDB, NoSQL, Graph DB | 각각의 API Server에서 사용하는 다양한 기술기반의 데이터베이스 활용 |
- DevOps -> 마이크로 서비스 라이프사이클의 효과적인 관리, 빠른 개발, 서비스 안정성, 유연한 확장성
2. 마이크로 서비스 아키텍쳐와 모놀리스 아키텍쳐 비교
1) 마이크로 서비스 아키텍쳐와 모놀리스 아키텍쳐 개념도 비교
-마이크로서비스 아키텍쳐는 서비스 단위로 분리, 모놀리스 아키텍쳐는 하나의 단일프로그램임.
2) 마이크로 서비스 아키텍쳐와 모놀리스 아키텍쳐 비교
비교항목 | 마이크로서비스 아키텍처 | 모놀리스 아키텍처 |
개념 | 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 구현하여 조합하는 방법 | 하나의 서비스 또는 애플리케이션이 하나의 아키텍처로 구현된 방법 |
목적 | 애플리케이션을 개발 서비스 단위로 개발, 배포 | 전체 어플리케이션을 하나의 통합된 패키지로 개발, 배포 |
개발 | 서비스 단위로 신속한 개발, 확장 용이 | 배포, 테스트, 표준화된 방식으로 관리 용이 |
배포/구동 | DevOps 자동화, 고속 | 배포/서버 가동시간 소요 |
개발 독립성 | 상호 의존성 낮아짐 | 전체 서비스 간 영향 높음 |
유지보수 | 유지보수 용이, 단순 | 전체 코드 이해 필요 |
확장성 | 부분적 물리확장 가능 | 확장성/유연성 낮음 |
'메가노트 > 토픽과제(정리)' 카테고리의 다른 글
ISO 25000(황선환 이사님) (0) | 2022.10.15 |
---|---|
Class, Method 구현방법(이강욱 선임님) (0) | 2022.10.15 |
소프트웨어 아키텍처 평가(김지웅 대리님) (1) | 2022.10.15 |
PMO(이재용 부장님) (0) | 2022.10.15 |
Project Scope Management(안혜진 선임님) (0) | 2022.10.15 |