본문 바로가기

ddd2

[Micro Service] Micro Service 설계 1장 ◆ Micro Service 설계 ▶ 소프트웨어 개발의 역사에서 모듈화의 중요성은 예전이나 지금이나 한결같은데 모듈화의 근본적 가치는 각 모듈을 기능적으로 응집성 높게 만들고(high cohesion) 기능이 다른 타 모듈 간의 의존도를 낮추는 것(low coupling) ▶ 마이크로서비스 설계에서의 가장 중요한 관심사도 어떻게 기능적으로 응집성있는 마이크로서비스를 도출하고 타 서비스 간의 의존도는 낮출 것인가 하는 것이고 마이크로서비스의 내부 구조를 구성하는 각 요소들도 역할별로 모듈화 돼야 하는데 역할 별로 모듈화 된다는 말은 각 역할이 분명한 응집성 있고 서로 의존성이 낮은 모듈들이 모여 마이크로서비스를 이루고 이 마이크로서비스는 다른 마이크로서비스와 의존성이 낮아야 한다는 의미 ▶ 다른 방식으로 .. 2023. 4. 26.
[MicroService] Micro Service Application Architecture(아키텍처 정의, Micro Service 도출, MDD, DDD, 빌드 및 배포) 3장 ◆ 기민한 설계 / 개발 프로세스 ▶ 아키텍처 정의와 Micro Service 도출 ● 아키텍처 정의 ⊙ Micro Service 외부/내부 아키텍처를 정의하는 공정 ⊙ 로버트 c. 마틴은 기술 세부사항은 늦게 결정할 수 있어야 한다고 언급한 바 있는데 이것은 기존의 워터폴한 개발 프로세스에서 강조했던 아키텍처 등의 기술 결정사항이 모두 완벽하게 정의된 후 개발을 해야 한다는 말과 배치됨 ⊙ Micro Service를 순수 비즈니스 로직이 존재하는 내부 영역과 기술 영역을 표현하는 외부 영역으로 구분해서 개발하면 외부 영역은 언제든지 교체될 수 있으므로 애플리케이션의 핵심인 내부 영역에 집중하고 외부 영역 즉 아키텍처의 결정사항들은 천천히 결정해도 된다는 의미로 그만큼 애플리케이션은 소프트 즉 유연해야 .. 2023. 4. 26.