Software Engineering/MSA 2

[마이크로서비스 아키텍처 구축] 2. 마이크로서비스 모델링 방법

샘 뉴먼 님의 "마이크로서비스 아키텍처 구축" 책을 정리한 포스팅 입니다. 1. 뮤직코프 소개최첨단 온라인 소매업체오프라인 위주로 판매를 해왔지만 온라인 판매에 더욱 집중하기로 결정함 2. 올바른 마이크로서비스 경계를 만드는 것은 무엇인가?마이크로서비스가 독립적인 방식으로 변경되거나 배포되 사용자에게 릴리즈되길 바람➡️ 다른 마이크로서비스와 별개로 변경할 수 있는 능력이 중요 정보 은닉모듈 내부의 구현 세부 사항을 외부에서 보지 못하게 감추는 원칙✅ 내부 로직이 바뀌어도 외부에 영향을 최소화할 수 있음✅ 모듈 경계를 정의하는 기준으로 사용함 이점이점설명효과개발 시간 단축다른 서비스는 인터페이스를 통해 기능을 사용- 서비스 간 독립 개발 가능- 여러 작업을 병렬로 처리 가능이해도- 각 모듈을 독립된 블랙박..

[마이크로서비스 아키텍처 구축] 1. 마이크로서비스란?

샘 뉴먼 님의 "마이크로서비스 아키텍처 구축" 책을 정리한 포스팅 입니다. 1. 마이크로서비스 살펴보기마이크로서비스란?도메인과 관련된 모든 요소를 하나의 모듈로 캡슐화한 아키텍쳐 스타일적용 범위설명주의사항도메인비즈니스 도메인별로 기능을 나누어 서비스 경계 설정 네트워크REST API, gRPC, 메시지 큐 등을 통한 통신만 허용내부 로직·DB 직접 접근 ❌데이터베이스각 서비스가 자체 데이터베이스를 소유공유 데이터베이스 사용 ❌ 효과효과설명특징정보 은닉외부 인터페이스를 통해 최소한만 노출가능한 많은 내부 정보를 구성요소에 감춤변경 격리내부 변경이 외부에 전파되지 않도록 하여 영향 범위를 최소화 경계 명확화변경이 쉬운 부분과 어려운 부분을 명확히 구분- 변경이 쉬운 부분: 내부 구현- 변경이 어려운 부분: ..