298
이벤트 기반 마이크로서비스 구축
버전
2
검색 마이크로서비스는 사용자 프로파일 엔티티 스트림의 이벤트를 사용해서 검색 결
과를 개인화
personalize
합니다. 물론 버전
1
백엔드 서비스도 이 데이터를 사용할 수 있지만 버전
2
서비스에서는 데이터가 더 세분화돼서 사용자 데이터를 사용하는 비즈니스 기능이 명확해졌
습니다. 덕분에 경계 콘텍스트의 입력 스트림만 봐도 프런트엔드 각 부분에 어느 스트림이 소
비/사용 중인지 금세 파악할 수 있습니다. 반대로 버전
1
에서는 코드를 뜯어보지 않고 사용자
이벤트만 봐서는 검색 부분인지, 리뷰 부분인지 알 수가 없습니다.
끝으로
1
,
2
버전 모두 필요한 데이터는 정확히 동일한 이벤트 스트림에서 소싱합니다. 이 이벤
트 스트림은 단일 진실 공급원이므로 특정 상태 저장소 구현체를 유지하거나 데이터 마이그레
이션 문제를 고민할 필요 없이 애플리케이션 백엔드를 변경할 수 있습니다.
DB
가 데이터 통신
레이어 역할을 겸하고 쉽사리 교체할 수 없는 모놀리식 백엔드와는 완전히 다르죠. 마이크로프
런트엔드와 이벤트 기반 백엔드의 조합은 사용 가능한 이벤트 데이터의 세분성과 상세 내용의
제약만 받을 뿐입니다.
13.9
마치며
이벤트 기반 마이크로서비스와 요청-응답
API
를 통합하는 방법을 알아보았습니다. 외부 시스
템은 거의 대부분 요청-응답
API
로 통신하는데, 사람이든 기계든 그 요청과 응답을 이벤트로
바꿔야 할 때가 있습니다. 기계가 입력한 데이터를 사전에 스키마화하면 서버측에서 요청-응
답
API
로 수집 ...