전체 글 (784) 썸네일형 리스트형 [도메인 주도 설계로 시작하는 마이크로서비스 개발] 다양한 서비스의 등록 및 탐색을 위한 서비스 레지스트리, 서비스 디스커버리 패턴 1) 서비스 디스커버리 패턴이란?- 프런트엔드 클라이언트가 여러 개의 백엔드 마이크로서비스를 어떻게 호출해야 할까? 또한 스케일 아웃을 통해 인스턴스가 여러 개로 복제됐다면 어떻게 부하를 적절히 분산할 수 있을까? - 이를 위한 패턴이 서비스 디스커버리(Service Discovery) 패턴이다. 클라이언트가 여러 개의 마이크로서비스를 호출하기 위해서는 최적 경로를 찾아주는 라우팅 기능과 적절한 부하 분산을 위한 로드 밸런싱 기능이 제공돼야 한다. 넷플릭스의 OSS로 예를 들면 라우팅 기능은 줄(Zuul)이, 로드 밸런싱은 리본(Ribbon)이 담당한다. - 라우터는 최적 경로를 탐색하기 위해 서비스 명칭에 해당하는 IP 주소를 알아야 한다. 그런데 이러한 라우팅 정보를 클라이언트가 가지.. [도메인 주도 개발 시작하기] 도메인 모델 패턴 일반적인 애플리케이션의 아키텍처는 아래와 같이 네 개의 영역으로 구성된다. - 각 영역의 역할은 아래와 같다. 영역설명사용자 인터페이스 또는 표현사용자의 요청을 처리하고 사용자에게 정보를 보여준다.여기서 사용자는 소프트웨어를 사용하는 사람뿐만 아니라외부 시스템일 수도 있다.응용사용자가 요청한 기능을 실행한다.업무 로직을 직접 구현하지 않으며도메인 계층을 조합해서 기능을 실행한다.도메인시스템이 제공할 도메인 규칙을 구현한다.인프라스트럭쳐데이터베이스나 메시징 시스템과 같은 외부 시스템과의 연동을 처리한다. - 지금 살펴볼 도메인 모델은 마틴 파울러가 쓴 '엔터프라이즈 애플리케이션 아키텍처 패턴' 책의 도메인 모델 패턴을 의미한다. 도메인 모델은 아키텍처 상의 도메인 계층을 객체 지향 기법으로 구현하는.. [도메인 주도 설계로 시작하는 마이크로서비스 개발] 서비스 단일 진입을 위한 API 게이트웨이 패턴 1) API 게이트웨이 패턴이란?- 여러 클라이언트가 여러 개의 서버 서비스를 각각 호출하게 된다면 매우 복잡한 호출 관계가 만들어질 것이다. 이러한 복잡성을 통제하기 위한 방법이 필요하다. - 한 가지 해결책은 API 게이트웨이(Gateway)다. 다양한 클라이언트가 다양한 서비스에 접근하기 위해서는 단일 진입점을 만들어 놓으면 여러모로 효율적이다. 다른 유형의 클라이언트에게 서로 다른 API 조합을 제공할 수도 있고, 각 서비스에 접근할 때 필요한 인증/인가 기능을 한 번에 처리할 수도 있다. - 또 정상적으로 동작하던 서비스에 문제가 생겨 서비스 요청에 대한 응답 지연이 발생하면 정상적인 다른 서비스로 요청 경로를 변경하는 기능이 작동되게 할 수도 있다. - 이러한 서비스 흐름.. 이전 1 ··· 21 22 23 24 25 26 27 ··· 262 다음