File tree Expand file tree Collapse file tree
2026/Fundamentals_of_Software_Architecture_2nd_Edition/chichoon Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3232- 데이터베이스 타입 최적화
3333 - 데이터 처리 방식에 따른 분리
3434
35+ ```
36+ 논의점: 데이터 분해인에 정말 많은 요인들이 있는데, 이것들을 고려하기 수월하게 해 주는 피트니스 함수나 유틸리티는 어떤 것이 있을까?
37+ ```
38+
3539### 데이터 통합인
3640
3741- 데이터 통합 이유 (언제 합쳐야할까?)
Original file line number Diff line number Diff line change 1+ ## Chapter 07: 서비스 세분도
2+
3+ ### 개요
4+
5+ - 세분도: 작게 나눈 서비스들의 사이즈 정도
6+
7+ ### 세분도 분해인
8+
9+ - 서비스를 작게 나눠야 하는 이유
10+ - 서비스의 범위와 기능
11+ - 서비스가 하는 일의 크기와, 컴포넌트의 사이즈
12+ - 서비스로 나눠지는 기준이 사람마다 다르고, 개발자는 서비스를 최대한 작게 나누려는 성향이 있기 때문에 서비스의 범위를 꼭 고려해야 한다
13+ - 코드 변동성
14+ - 소스 코드를 변경하는 빈도
15+ - 자주 변경되는 기능을 영향력이 적은 단일 서비스로 묶으면 타 기능에 끼치는 영향이 작아지기 때문에 테스트에 용이
16+ - 확장성 + 처리량
17+ - 처리량을 달성하기 위해 서비스를 확장할 필요가 있음
18+ - 서비스를 적절히 쪼개 다양한 처리량 목표를 달성하게 할 수 있다
19+ - 내고장성
20+ - 데이터베이스와 마찬가지로 하나의 도메인에 장애가 발생해도 다른 곳에 영향을 끼치지 않게끔 하는 것이 중요하다
21+ - 보안
22+ - 민감한 데이터를 다른 서비스가 접근하지 못하게 보호
23+ - 데이터 저장 뿐만 아니라 데이터 접근도 보안에 큰 영향을 끼친다
24+ - 신장성
25+ - 현재 기능에서 새로운 기능이 추가될 경우 리스크를 작게 만들어야 함
26+
27+ ### 세분도 통합인
28+
29+ - 서비스를 합쳐서 크게 만들어야 하는 이유
30+ - 데이터베이스 트랜잭션
31+ - 데이터베이스와 비슷하게, 서로 다른 서비스끼리 데이터 공유가 잦은데 도메인이 분리되어 있을 경우 트랜잭션 적용이 어렵다
32+ - 이런 경우 통합하는 것이 좋다
33+ - 워크플로우와 코레오그래피
34+ - 기능간 결합도를 확인하고, 단단히 결합되어 있을 경우 전체 내고장성 보장을 위해 굳이 분리하지 않는 것도 방법
35+ - 데이터 일관성과 무결성을 중시한다면 서비스 통합도 대안이 된다
36+ - 공유 코드
37+ - 서비스들 간 코드를 공유해야 하는지 여부
38+ - 서비스가 분리되어 있을 경우 라이브러리나 코드 변경시 이를 사용하는 모든 서비스를 찾아서 같이 수정해야 함
39+ - 이 경우 서비스를 통합하는 게 방법일 수 있다
40+ - 데이터 관계
41+ - 서비스 간 데이터는 공유되지 않고 엄격한 콘텍스트로 나눠져 있으므로 서비스간 통신이 잦을 경우 이 서비스를 합치는 게 나을 수도 있다
42+
43+ ### 적정 균형점 찾기
44+
45+ - 분해인과 통합인을 고려하여 트레이드오프를 결정해야 함
You can’t perform that action at this time.
0 commit comments