π¨ Monoliths β MSA μ ν
Application Logic layerλΆν° μμ°¨μ μΌλ‘ λΆν΄
RouterꡬμΆ- Monolithsκ° routerλ₯Ό ν΅ν΄ μμ² λ°κ² νκΈ°
- APIλ‘ ν΅μ κ°λ₯ν μμ κ·λͺ¨μ μλΉμ€λ₯Ό λΆλ¦¬νμ¬ microservice 1κ° κ΅¬μΆ
- ꡬμΆλ μλΉμ€λ§ proxy μ ν
- DB λλ schema λΆλ¦¬
- λΆλ¦¬λ μλΉμ€λ₯Ό μν
Data Migration - κ²μ¦ λ° νμ₯
π λ°μ΄ν° μ΄κ΄ μ λ΅
- Downtime κ°κ³ ν λ²μ
ETL(Extract, Transform, Load) - ꡬDBμ μ DB λ λ€ μ¬μ©νμ§λ§, Monolithsμμλ
ReadOnly CDCλ₯Ό μ΄μ©νμ¬ λ³κ²½λλ λ°μ΄ν°λ§ μ DBμ λ°μ
μ€λλ μλ AWS Snowball λ± ν΄λΌμ°λ μλΉμ€λ₯Ό ν΅ν΄ λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ κ°νΈν
π§ Change Data Capture
DBμ λ‘κ·Έ νμΌμ λΆμν΄ λ³κ²½λ λ°μ΄ν°λ₯Ό μΆμΆνλ κΈ°μ
π MSAμμμ DB μ€κ³
π μ΄μ
- λΆλ¦¬λ μλΉμ€ λΉ λ 립λ λ°μ΄ν°λ² μ΄μ€ μμ
- λ€λ₯Έ μλΉμ€μμ κ΄λ¦¬νλ λ°μ΄ν°λ APIλ₯Ό ν΅ν΄μλ§ μ°Έμ‘°
π νμ€
- μλ‘ λ€λ₯Έ μλΉμ€κ° κ°μ λ°μ΄ν°λ₯Ό λμμ
CUDνμ§ μλλ‘ μ€κ³ - λ°λμ 물리μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€ λΆλ¦¬ λΆνμ
π λΆμ° DB μ€κ³
- μλΉμ€ λΉ 1κ° DB
- μλΉμ€ λΉ 1κ° DB + νμν DB Link View
- νλμ DBλ₯Ό νλμ μλΉμ€λ§
CUDκΆνμ κ°μ§κ³ , λλ¨Έμ§λReadOnly - 1κ° DB λ΄μμ TableSpaceλ§ κ΅¬λΆ
- 1κ° DB λ΄μμ Schemaλ§ κ΅¬λΆ
- κ³΅ν΅ μλΉμ€μ λν Shared Data ꡬμΆ
β Transaction
λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³κ²½μν€κΈ° μν΄ μννλ μμ λ¨μ
- Create, Delete, Update, Insert λͺ¨μ
- λμμ± μ μ΄μ
RecoveryκΈ°λ³Έ λ¨μ
β SAGA
λΆμ° νΈλμμ μλ리μ€μμ λ§μ΄ν¬λ‘ μλΉμ€μμ λ°μ΄ν° μΌκ΄μ±μ κ΄λ¦¬νλ λ°©λ²
Orchestration SAGA
- μ€μ μ§μ€μ 컨νΈλ‘€λ¬κ° κ° μλΉμ€μκ² μ€νν νΈλμμ μλ €μ£Όλ λ°©λ²
π§ νλμ μλΉμ€μμλΌλ νΈλμμ μ΄ μ€ν¨νλ€λ©΄?
μ±κ³΅ν νΈλμμ
rollbackλ‘μ§μ μννμ¬ μΌκ΄μ± μ μ§
Choreography
- μ€μ μ§μ€μ μ μ΄ μμ΄
Message Queueλ₯Ό μ΄μ©νμ¬ λΉλκΈ°λ‘ νΈλμμ λ‘μ§ μμ² - μλΉμ€ κ° event
Publishνκ³Subscribe - μμ€ν 볡μ‘λ μ¦κ°
π§ νλμ μλΉμ€μμ νΈλμμ μ΄ μ€ν¨νλ€λ©΄?
μ½μλ
Fallbackμ μννκ±°λ,Retry
CQRS
Command and Query Responsibility Segregation
Commandμ Queryμ μ± μμ λΆλ¦¬νλ ν¨ν΄
μμ€ 1. μλΉμ€ μμ€μμ CUDμ R μν ꡬλΆ
μμ€ 2. read-replica μ¬μ©
μμ€ 3. CUD DBμ R DBλ₯Ό λΆλ¦¬νκ³ λκΈ°ν
- λ³΄ν΅ RDBμ NoSQL κΈ°λ°μ DBλ₯Ό μ¬μ©νλ κ²½μ°
Event Brokerλ₯Ό ν΅ν΄ λ³κ²½μ¬νμ λκΈ°ν
μμ€ 4. EventSourcing
https://docs.microsoft.com/ko-kr/azure/architecture/patterns/event-sourcing
- λͺ¨λ νΈλμμ
μ
Eventλ‘streaming - Event Broker μμ΄ EventStream μ μ₯μ© Data Storage κ΄λ¦¬
- λ°μ΄ν°μ μν λ³κ²½ μ΄λ ₯ κ΄λ¦¬ κ°λ₯