
300
2
부
이벤트 기반 아키텍처
이 정보를
API
를 통해 노출했다. 사용자의 브라우저에서 각 상품의 재고가 얼마나 많이 남았는
지, 사용자의 주소로 배달되는 데 얼마나 걸리는지를 확인할 수 있었다.
상품 재고가 완전히 소진되면 전자상거래 플랫폼이 해당 상품의 판매를 중단하라는 새로운 이벤
트를 발생시킨다. 얼마나 많은 부하를 처리해야 하는지는 알 수 없으므로 시스템을
CQRS
패턴
을 사용해 재작성했다. 재고가 변하면 레디스 데이터베이스에 캐시된 뷰 모델을 업데이트했다.
플라스크
API
는 이 복잡한 도메인 모델에 질의를 하는 대신
뷰 모델
view
model
에 질의를 보냈다.
결과적으로, “얼마나 많은 재고가 있는가?”라는 질문에
2
초 만에 답하고, 이제
API
는 상당한 기
간 동안 초당 수백 건의 요청을 처리할 수 있게 되었다.
이 모든 내용이 친숙하게 느껴진다면 여러분은 이제 이 책의 모든 예제 앱이 어디서 왔는지 이해
한 것이다.
작동하는 도메인 모델이 있으면 일부 인프라를 구축하는 쪽으로 방향을 전환한다. 첫 번째 프
로덕션 배치는
batch
_
created
이벤트를 받아서 이벤트의
JSON
표현을 로그에 남기는 아주
작은 시스템이었다. 이 시스템은 이벤트 기반 아키텍처의
Hello
,
World
다. 이런 시스템을 실
행하려면 메시지 버스를 배치하고 발행자와 ...