본문 바로가기

CLOUD/AWS

[공부한 것 정리] 메시징 & 대기열

메시징과 대기열


커피숍의 예를 또 들어보자.

계산원은 고객의 주문을 받고, 바리스타는 음료를 만듭니다. 계산원이 주문을 받고 바리스타에게 주문 목록들을 전달하면 바리스타는 그때그때 음료를 만드는데 둘이 손발이 잘 맞을 때는 효과가 탁월합니다.

 

하지만, 바리스타가 쉬고 있거나 바쁘다면?? 프로세스의 결함이 발생합니다.

따라서 System내에 일종의 완충기억장치나 대기열을 도입하면 프로세스가 훨씬 개선될 것입니다.

 

계산원이 직접 주문을 바리스타에게 건네는 것이 아니라 주문판을 이용하여 주문을 게시한다면? 주문이 밀리더라도 주문판을 확인하여 바리스타가 놓치는 부분은 적어도 없을 것입니다.

 

이것을 애플리케이션에 도입하여 봅시다.

A라는 애플리케이션과 B라는 애플리케이션이 존재 할때,

애플리케이션끼리 직접 소통하는 경우에는 전체 프로세스에 문제를 발생시킴.

 

이러한 아키텍처를 밀결합 된 아키텍처라고 부릅니다.

 

하지만 애플리케이션 사이에 메시지 대기열이 존재한다면?

 

B 애플리케이션이 고장 나더라도 A 애플리케이션은 전송 중인 메시지가 여전히 메시지 대기열로 전송됨으로 문제가 발생되지 않습니다. 이러한 아키텍처를 소결합 된 아키텍처라고 부릅니다.

 

AWS가 AWS 기반의 아키텍처에서 구현하고자 하는 상태가 바로 이런 것입니다.