84
클라우드 네이티브 애플리케이션 디자인 패턴
2.10
마치며
클라우드 네이티브 통신 패턴은 애플리케이션의 마이크로서비스가 다른 마이크로서비스 또는
외부 시스템과 통신할 때 적용할 수 있습니다. 마이크로서비스의 수가 증가하고 비즈니스 요구
사항이 점점 더 복잡해짐에 따라 클라우드 네이티브 애플리케이션을 구현할 때 여러 통신 패턴
을 사용하는 경우가 늘어나고 있습니다.
동기 통신 패턴에서는 클라이언트 또는 사용자 서비스/애플리케이션이 서비스를 요청하고 그
에 대한 응답을 주어진 시간 내에 받고자 합니다. 주로 요청-응답 또는 원격 프로시저 호출 패
턴을 사용합니다.
비동기 통신은 메시지 브로커나 이벤트 허브라고 불리는 중간 메시징 인프라스트럭처를 통해
생산자와 소비자 간 메시지를 전달합니다. 단일 수신자나 다중 수신자 패턴이 주로 사용하는
패턴입니다. 단일 수신자 패턴은 큐 기반 메시지 전달 기법을 사용해서 생산자와 단일 소비자
간 메시지를 순서대로 전달할 수 있는 신뢰성을 가진 방법입니다. 다중 수신자 패턴은 여러 소
비자가 같은 메시지를 한꺼번에 받아야 할 때 사용할 수 있습니다.
클라우드 네이티브 애플리케이션에서 서비스 정의 역시 사용하는 통신 패턴에서 중요한 역할
을 맡고 있습니다. 서비스 정의 기술은 사용하는 통신 프로토콜마다 천차만별이지만, 중앙화
된 서비스 레지스트리로 스키마를 관리하고 사용하는 것은 모든 통신 패턴에 비슷하게 적용됩
니다.
이 장에서는 클라우드 네이티브 애플리케이션의 기본적인 통신 패턴에 대해서 살펴보았습니
다.