224
이벤트 기반 마이크로서비스 구축
10.1
BPC
의 알맞은 용도는?
BPC
마이크로서비스는 완전한 기능을 갖춘 프레임워크에 내장된 컴포넌트는 제공하지 않지
만 폭넓은 비즈니스 요건을 충족할 수 있습니다. 확정적 이벤트 스케줄링이 필요 없는 상태 저
장 패턴이나 상태 비저장 변환 같은 단순한 패턴은 구현하기 쉽습니다.
BPC
구현체는 일반적으로 내부 상태 저장소보다 외부 상태 저장소를 더 많이 씁니다. 여러 인
스턴스 간의 로컬 상태를 확장하고 인스턴스 실패로부터 복구하는 작업은 완전한 기능을 갖춘
스트리밍 프레임워크가 아니면 어렵기 때문입니다. 외부 상태 저장소를 사용하면 여러 마이크
로서비스 인스턴스에 데이터 백업/복구 메커니즘과 균일한 접근 권한을 제공할 수 있습니다.
BPC
구현체가 진가를 드러낼 만한 유스 케이스를 몇 가지 들어보겠습니다.
10.1.1
기존 레거시 시스템과 통합
기본 프로듀서/컨슈머 클라이언트를 코드베이스에 통합하는 식으로 레거시 시스템을 이벤트
기반 아키텍처에 도입할 수 있습니다. 이런 통합 작업은 대개 이벤트 기반 마이크로서비스를
도입하는 초기에 일찌감치 시작되며, 레거시 시스템을 이벤트 기반 체계로 전환하는 전략의 일
부가 되기도 합니다(
4
장 참고 ). 레거시 시스템은 이벤트 브로커의 단일 진실 공급원에 필요한
만큼 자신의 데이터를 생산하고 자신이 필요한 이벤트는 다른 이벤트 스트림에서 가져와서 소
비합니다.
이벤트 스트림에서 데이터를 생산/소비하도록 레거시 코드베이스를 안전하게 수정할 수 없는
경우도 있습니다. ...