반응형
작은 서비스
- 독립된 비즈니스 -> 독립된 서비스
- Eric Evands "Domain Driven Design"(DDD)
- Bounded Context : 하나의 서비스에 담을 수 있는 기능들의 그룹, 서비스 수준의 경계
- Ubiquitous Language : 같은 업무를 하는 사람들은 업무상 같은 단어와 용어를 사용
독립된 서비스
- 독립적 실행, 다른서비스 결합이 없는 서비스
- 구현, 배포 실행, 장애에 대한 영향 받지 않음
- Ex) "고객 관리 서비스"중 고객등록 기능에 문제가 생겨도, 이와 관계없이 예약 가능
응집된 서비스
- 하나의 서비스는 기능적으로 응집
- 서비스의 역할이 한 가지 일을 위해 묶여야 함 -> 단순 명확, 오류 최소화
- ex) 수강 신청 시스템
자율적 서비스
- 서비스의 기획, 개발, 테스트, 배포 및 서비스의 운영까지 담당 조직이 독립적으로 의사 결정 -> Ownership
Microservice 기획
- 도메인 이해 / 요구분석 / 조직 분석
- 사용자, 업무 흐름, 핵심 업무, 업무 우선 순위
- 마이크로 서비스 원칙 수립
- 마이크로서비스 경계, 분할, 크기
- 하향식 접근 : 서비스에 따라 업무의 중요도(핵심, 부가)와 형태(온라인, 배치), 팀 크기)등을 고려하여 서비스 분할
- 상향식 접근 : 데이터 연관성과 Ownership에 따라서 서비스를 위로 접근하며접근
- 서비스 일부 분리 : 기존 시스템에서 서비스 기능을 따로 분리하여 점진적으로 접근
- 마이크로서비스 경계, 분할, 크기
- 상관 분석
- 사용자, 업무, 데이터 간 상관관계
- 서비스 식별
- 서비스와 데이터 관계 : 데이터간의 스키마를 나눌수있는단위로 나눔
- 서비스 간의 종속성 : 사용 관계에 따라서 나눔
- 데이터간 종속성 : 데이터간의 종속성이 있을경우 스키마를 나눠서 관리하는것도 방법임
- 마이크로 서비스에서 각 2개의 독립적인 스키마를 가진다면 같은 속성을 가지게하여(중복되게) 중복을 인정하도록 설계하는 방법도 하나의 방법임
- 서비스 중간중간 동기화가 맞지 않을 수 있지만 최종적으로는 마지막에는 동기화가 맞는다. "Eventual Consistency"
- 최종적인 일관성을 가진다.
반응형
'Architecture' 카테고리의 다른 글
[Architecture] Cloud Native Architecture (0) | 2025.09.30 |
---|
댓글