
288
이벤트 기반 마이크로서비스 구축
//광고주 승인 이벤트
Key: String pn_key //편집된 신문 키
Value: {
String advertiser_pdf_uri //광고주가 확인하는 PDF 조각 URI
int version //편집된 신문 버전
int page_number
boolean approved //승인, 반려
String advertisement_id
String advertiser_id //승인자 ID
String advertiser_comments
}
광고주 승인 이벤트를 보면 키가
pn
_
key
라서 신문마다 키가 동일한 광고주 이벤트는 여럿 존
재할 수 있습니다. 여기서 광고주 승인은 ‘엔티티
entity
’가 아니라 ‘이벤트
event
’로 취급하며 이는 곧
신문 광고주의 최종 승인에 관한 이벤트들을 ‘집계한 것
aggregate
’입니다. 즉, 모든 광고주가
UI
화
면에 접속해서 광고를 승인하고 모두 응답을 주기 전에는 (제때 응답을 받지 못하는 경우도 있
겠죠 ) 최종 승인 단계로 넘어갈 수 없습니다. 실제로 편집자 승인 이벤트 정의를 다시 보면 반
려된 이벤트 집합을
RejectedAdvertisements
라는 객체의 배열에 할당합니다.
이처럼 신문, 편집자 승인, 광고주 승인을 이벤트로 취급하면 신문, 반려,