Application Modernization
- 정의 : 목표대상에 구성과 구성 요소의 관계
- Business Architecture + reference -> system Architecture
- Data -> Technical -> Application
- 근본적인 영향에 미치는 요구사항을 제일 먼저 식별하고 고려 ( 근본적인 기능 )
- App을 service단위로 나누어서
- Service는 RestApi가 아니고 RestApi는 아주 작은 단위
- E-commerce :
- micro 서비스로 가면서 개별 서비스 개발은 쉬워 졌다.
- 전체 서비스를 유지 보수하기에는 난이도가 올라간다.
- MSA scope Api Gateway를 통하여 가볍게 한다.
- Decomposition
- DDD : Domain Driven Design
- 복잡한 문제영역을 구분되게 나누어 서브 도메인별로 문제 해결
- Outer Architecture -> Pattern
- UI
- Monolithic : Consuming
- Composite : generated
- Communication
- API Gateway
- FE for BE
- BE Service to BE Service
- Command : API를 직접 호출 하지 말고 (명령)
- Event : Queue 방식 (읽기)
- Materialized View Pattern
- 여러개의 table을 join을 미리해서 query를 가진다.
- Service Discovery
- Data
- Distributed Transactions
- High Volume Data :
- Command Model
- Query Model
- Inner Architecture : (MSA만의 문제가 아니다.)
- Micro Service를 하나하나 어떻게 만들것인지