495
12
장
회복 탄력성
12.5.712.5.7
미들웨어미들웨어
5
.
2
.
4
절 ‘메시지 브로커’에서는 요청 및 응답과 이벤트 기반의 상호작용을 구현하는 데 도움이
되는 메시지 브로커 형태의 역할을 살펴봤다. 대부분의 메시지 브로커가 지닌 유용한 특성 중
하나는 전달을 보장하는 기능이다. 사용자가 다운스트림 대상에게 메시지를 보내면 브로커는
앞서 살펴본 몇 가지 주의 사항과 함께 메시지 전달을 보장한다. 내부적으로 이와 같은 보장을
위해 메시지 브로커 소프트웨어는 브로커 사용자를 대신해 재시도와 타임아웃 같은 것을 구현
해야 한다. 이때 사용자가 직접 수행해야 하는 것과 동일한 작업이 수행되지만, 이러한 종류의
작업에 능한 전문가가 작성한 소프트웨어에서 수행된다. 똑똑한 사람에게 일을 맡기는 것은 흔
히 좋은 생각이다.
애드버트코프의 구체적인 예에서 보면, 미들웨어를 사용해 다운스트림 순무 시스템과의 요청
및 응답 통신을 인위적으로 처리하는 것은 실제로 큰 도움이 되지 않았을지 모른다. 또한 여전
히 고객에게 응답을 받지 못할 수 있다. 한 가지 잠재적인 이점은 자체 시스템에서 자원 경합을
완화할 수 있다는 것이지만, 이로 인해 브로커에서 보류 중인 요청이 늘어나게 될 뿐이다. 게다
가 최신 순무 가격을 요구하는 요청 중 상당수가 더 이상 유효하지 않은 사용자 요청과 연관될
수 있다는 점에서 더욱 나쁘다.
이에 대한 대안은 상호작용을 뒤집고 미들웨어를 사용해 순무 시스템이 마지막 순무 광고를 브
로드캐스트하도록 한 다음, 이를 사용하게 ...