코레오그래피 워크플로의 분산 트랜잭션은 아주 복잡해질 수 있습니다. 처리 중 장애가 발생하
면 각 서비스가 자신이 변경한 내용을 롤백할 수 있어야 합니다. 그래서 원래 느슨했던 서비스
들이 단단히 결합될 수 있고 더러는 전혀 관계가 없던 서비스와 강력한 의존 관계가 맺어지게
될 수도 있습니다.
코레오그래피 사가 패턴은 단순한 분산 트랜잭션, 특히 시간이 지나도 변경될 일이 거의 없는
강력한 워크플로에 잘 맞습니다. 단, 코레오그래피 트랜잭션은 참여하는 각각의 이벤트 스트림
을 완전히 구체화해야 하기 때문에 진행 상황을 모니터링하기가 쉽지 않습니다. 이는 오케스트
레이션 패턴도 마찬가지입니다.
코레오그래피 예시
좀 전에 예로 든 코레오그래피 워크플로의 마이크로서비스
A
,
B
,
C
로 돌아갑시다. 서비스
A
의
입력 스트림으로 트랜잭션이 개시되면 이후
A
,
B
,
C
세 서비스의 작업이 모두 완료되거나, 처
리 도중 실패해서 결국 전부 롤백될 것입니다. 이 체인에서 한 단계라도 실패하면 트랜잭션은
끊기고 롤백이 시작됩니다(그림
8
-
5
).
입력 스트림출력 스트림
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.