ddd

마이크로서비스 아키텍처를 구성하는 핵심 요소 8가지 | 무조건 MSA가 정답일까?
마이크로서비스 아키텍처는 기본적으로 '해결하려는 문제'를 기준으로 서비스를 분리하는 아키텍처입니다. 소위 말하는 DDD(Domain Driven Design; 도메인 주도 설계)에서 사용하는 도메인이라는 개념과 비슷한 기준으로 서비스를 분리한다고 볼 수도 있습니다. 이렇게만 이야기하면 잘 와닿지 않으니 예시를 하나 들어보겠습니다. 앞서서 해결하려는 문제를 기준으로 각 서비스를 분리한다고 이야기 드렸습니다. 쇼핑몰 앱이 있다고 한다면, 이 쇼핑몰을 운영하기 위해선 계정을 관리해야 한다는 문제가 있고, 결제도 관리 해야하고, 주문도 관리를 해야 합니다. 기존의 모놀리틱 아키텍처(Monolith Architecture)에서는 하나의 프로젝트, 하나의 웹 서버에서 이걸 다 처리했다면, 마이크로서비스 아키텍처에서..

Why DDD, Clean Architecture and Hexagonal ?
어느 순간부터 소프트웨어 개발 세계에서는 도메인 주도 설계, 클린 아키텍처라는 용어가 사용 되기 시작했습니다. 이것들은 도대체 어떤 것이며, 왜 등장하게 됐을까요? 도메인 주도 설계(Domain-Driven Design) 💡 소프트웨어의 본질은 해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력에 있다 DDD와 객체지향 도메인 주도 설계를 보다 잘 이해하고 적용하기 위해선 객체지향에 대한 이해가 필요합니다. 객체지향의 본질과 핵심은 뭘까요? 저는 객체 그 자체라고 생각합니다. 객체지향이라는 것은 결국 각 객체간 역할을 명확히 가져가고, 각 객체간에 메시지를 주고 받는 형태의 프로그래밍 방법론이라 생각하기 때문인데요. 그렇다면 객체지향 프로그래밍에서 사용되는 이 객체들은 어떻게 추려낼 수..