Skip to content

Commit 0818c02

Browse files
committed
10~12장
1 parent 6e74994 commit 0818c02

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

  • 2026/Fundamentals_of_Software_Architecture_2nd_Edition/donghyeon
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# 10 ~ 12장
2+
3+
## 내 생각
4+
5+
10장에서 소개된 데이터 도메인 패턴에 대해서 처음에는 부정적으로 생각했습니다.
6+
왜 이럴까 고민해봤는데, 생산성을 위해서 도메인 경계를 흐리게 한다는 것이 막연한 거부감으로 다가왔었던 것 같습니다.
7+
8+
하지만 다시 생각해보니 스타트업처럼 조직 규모가 작고 팀 간 경계도 흐릴 수 밖에 없는 환경에서는,
9+
오히려 데이터 도메인 패턴이 현실적인 선택이 될 수 있겠다는 생각이 들었습니다.
10+
11+
## 내용
12+
13+
- 분산 데이터 엑세스
14+
- 서비스 간 통신 패턴 (Inter-Service Communication Pattern)
15+
- 주로 REST 또는 gRPC 같은 동기식 호출
16+
- 단순한 구조, 필요한 시점에 데이터를 가져오므로 데이터 용량 문제 걱정 X
17+
- 네트워크 지연, 보안 인증 오버헤드 등으로 인한 성능 저하
18+
- 호출 대상 서비스의 장애가 전파되는 가용성 문제 발생 가능 (두 서비스가 강결합)
19+
- 컬럼 스키마 복제 패턴 (Column Schema Replication Pattern)
20+
- 필요한 외부 데이터를 **컬럼 단위로 복제**
21+
- 외부 호출 없이 조회 가능 => 성능, 내고장성, 확장성 Good
22+
- 원본 데이터와의 동기화 및 일관성 문제
23+
- 복제 캐싱 패턴 (Replicated Caching Pattern)
24+
- 공유 데이터를 각 서비스의 인메모리 캐시에 복제, 메시지 브로커를 통해 동기화
25+
- 응답 시간이 나노초 단위로 매우 빠름
26+
- 캐시 데이터 용량의 제한, 캐시 워밍업 필요 등
27+
- 데이터 도메인 패턴 (Data Domain Pattern)
28+
- 데이터가 필요한 여러 서비스가 **동일한 DB 스키마를 공유**해 직접 접근
29+
- 서비스 간 통신 오버헤드 X, 데이터 무결성과 일관성 Good
30+
- 서비스 간 결합도가 높아짐
31+
- 분산 워크플로
32+
- Orchestration
33+
- Choreography
34+
- 트랜잭셔널 사가
35+
36+
| | 통신 | 조정 (Coordination) | 일관성 (Consistency) | 결합도 (Coupling) |
37+
|:----------------------------| :--- | :--- | :--- | :--- |
38+
| 에픽 사가 (Epic Saga) | 동기 | 오케스트레이션 | 원자적 | 매우 높음 |
39+
| 폰 태그 사가 (Phone Tag Saga) | 동기 | 코레오그래피 | 원자적 | 높음 |
40+
| 페어리 테일 사가 (Fairy Tale) | 동기 | 오케스트레이션 | 최종 일관성 | 높음 |
41+
| 타임 트래블 사가 (Time Travel) | 동기 | 코레오그래피 | 최종 일관성 | 보통 |
42+
| 판타지 픽션 사가 (Fantasy Fiction) | 비동기 | 오케스트레이션 | 원자적 | 높음 |
43+
| 호러 스토리 사가 (Horror Story) | 비동기 | 코레오그래피 | 원자적 | 보통 |
44+
| 패러렐 사가 (Parallel Saga) | 비동기 | 오케스트레이션 | 최종 일관성 | 낮음 |
45+
| 앤솔로지 사가 (Anthology Saga) | 비동기 | 코레오그래피 | 최종 일관성 | 매우 낮음 |

0 commit comments

Comments
 (0)