728x90
반응형
마이크로 서비스 (Microservices)
- 소프트웨어를 작고 독립적인 단위로 나누어 개발, 배포, 운영하는 아키텍처 패턴
- 전통적인 모놀리식 (monolithic) 아키텍처 대신 여러 개의 작은 서비스로 애플리케이션을 구성
- 복잡성을 관리하기 위해 적절한 도구와 패턴을 사용하는 것이 중요
- 유연성, 확장성, 유지보수성을 향상시키는 데 중점
서비스 분리 (Service Seperation)
작은 서비스 단위
- 각 마이크로 서비스는 특정 업무 기능을 수행하는 작은 단위로 분리
- 예 : 주문 처리, 사용자 관리, 결제 등
독립적 배포
- 각 서비스는 독립적으로 배포 가능
- 다른 서비스와 독립적인 라이프 사이클을 가짐
- 특정 서비스의 수정 또는 업그레이드가 전체 애플리케이션에 영향을 미치지 않도록 함
통신 패턴 (Communication Pattern)
HTTP/REST 또는 메시징
- 각 서비스 간의 통신은 HTTP/RESTful API 또는 메시지 큐와 같은 비동기 메시징을 통해 이루어짐
- 서비스 간의 통신은 간단하면서도 느슨한 결합을 유지
서킷 브레이커 (Circuit Breaker)
- 서비스 간의 통신에서 장애 발생 시, 서킷 브레이커 패턴을 사용하여 해당 서비스와의 통신을 일시적으로 차단하고 오류 처리를 위한 대체 로직 수행
확장성 (Scalability)
개별 서비스 확장
- 각 서비스는 독립적으로 확장 가능
- 특정 서비스의 부하에 따라 해당 서비스만 확장 가능
프로비저닝 및 오케스트레이션
- 컨테이너 기술과 오케스트레이션 도구 사용
- 서비스를 프로비저닝 하고 스케일 아웃 및 인프라 관리 가능
데이터 관리 (Data Management)
분산 데이터베이스
- 각 서비스는 자체 데이터 저장소를 가질 수 있으며, 분산 데이터베이스를 사용하여 데이터 관리
- Polyglot Persistence 패턴을 통해 서비스에 최적화된 데이터베이스 선택 가능
이벤트 소싱(Ivent Sourcing)
- 상태 변경을 이벤트로 기록하고 저장하여 시간에 따른 데이터 변경을 추적하는 방식 사용
보안 및 모니터링 (Security and Monitoring)
분리된 보안
- 각 서비스는 자체 보안 모델을 가짐
- API 게이트웨이를 통한 인증 및 권한 부여
분산 로깅 및 모니터링
- 중앙화된 로깅 및 모니터링 시스템 활용하여 전체 서비스 생태계의 건강상태 확인
728x90
반응형
'Yeoni Blog > 👩🏻💻' 카테고리의 다른 글
클라우드 컴퓨팅의 개념과 클라우드 플랫폼 & 서버 아키텍처 특징 요약 정리✍🏻 (0) | 2024.01.22 |
---|---|
분산 시스템(Distributed System)의 개념과 종류 및 특징 요약 정리✍🏻 (1) | 2024.01.21 |
자료구조와 알고리즘 종류 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |
[Web] 웹 보안이란? 웹 보안의 종류와 개념 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |
[API] RESTful API 주요 개념 및 특징 요약 정리✍🏻 (0) | 2024.01.21 |