*마이크로서비스 개념
마이크로서비스 아키텍쳐 구성요소
- 관리 컨테이너:
개별 서비스 인스턴스에 대한 컨텍스트(실행 환경) 제공 및 인 수명주기 관리.
가상 컴퓨터, Docker 컨테이너 또는 프로세스로 구현된 관리 컨테이너 사용. - 외부 게이트웨이:
MSA 구현은 API형태로 기능을 노출. 이런 서비스에 대한 액세스를 관리하고 트래픽 관리 및 보안 정책 적용.
외부 게이트웨이 기능은 종종 API 관리 제품을 통해 구현. - 서비스 메쉬 기능:
서비스 간의 통신을 느슨하게 결합하고 신뢰성 및 유연성을 유지.
서비스 라우팅, 로드 밸런싱, 서비스 발견, 구성 저장소 등의 기능 제공. - 서비스 이미지 레지스트리: 서비스의 불변 이미지를 저장하는 저장소.
- 메시지 지향 미들웨어: 비동기 메시징 채널을 사용하여 이벤트 및 메시지 중심 패턴 지원.
- 빌드 및 테스트 자동화: 높은 수준의 빌드 및 테스트 자동화 필요.
- 배포 자동화: 배포 자동화로 개발 주기를 간소화.
마이크로서비스 아키텍쳐 설계 고려 사항
- Config Management: 환경 변수를 별도의 원격 저장소에 두고 동적으로 가져다 사용하는 구성 요소.
- Service Discovery: 각 서비스의 위치 정보를 관리하고 제공하는 Service Discovery의 필요성.
- API Management: 외부에 노출되지 않는 마이크로서비스를 관리하고 중계하는 역할을 하는 API Management.
- Centralized Logging: 중앙화된 로깅으로 로그를 수집하고 시각화하는 중요성.
- Distributed Tracing: 서비스 간 호출 추적 및 로깅.
- Centralized Monitoring: 중앙화된 모니터링.
- Resilience & Fault Tolerance: 서비스 간의 장애 전파를 방지하고 특정 서비스의 장애가 전체 시스템에 미치는 영향을 줄이기 위한 구성.
- Auto-Scaling & Self-Healing: 환경을 자동으로 감지하고 필요에 따라 Scale-out을 통한 자동 확장 및 자체 치유.
'study > 클라우드&쿠버네티스' 카테고리의 다른 글
쿠버네티스 아키텍처 (마스터, 노드) (0) | 2023.10.04 |
---|---|
쿠버네티스 (오브젝트, 컨트롤러) (0) | 2023.10.04 |
컨테이너 오케스트레이션, 쿠버네티스(Kubernetes) (0) | 2023.10.04 |
가상화(Virtualization)와 컨테이너(Containerization) (0) | 2023.10.04 |
데브옵스(DevOps)와 마이크로서비스(microservices) 개념, 특징 (0) | 2023.09.26 |