인프런 커뮤니티 질문&답변
사가 패턴 질문
작성
·
22
0
안녕하세요.
현재 사가패턴을 공부하고 있는 개발자입니다.
제가 알고 있는 내용과 조금 다른 내용이 있어서 궁금증에 물어봅니다.
오케스트레이션 사가를 원래 rest api로 구현하나요?
이것도 카프카 같은 브로커 사용해서 만든다고 알고 있어서요.
답변 2
0
안녕하세요 김재연님 질문 남겨주셔서 감사합니다.
구현하는 방식에 따라 msq를 도입해서 활용이 가능하겠지만 기본 구조는 rest로 통신하는것이 정석이기는 합니다.
혹시 어떤 정보를 통해 반대로 알고계시는지 알 수 있을까요? 공유해주신다면 질문에 대해 대답하는 과정에서 많은 도움이 될꺼같습니다.
질문 감사합니다!! 😆
어떤 부분에 집중했냐에 따라서 다른거 같습니다. 책에서는 좀 더 가용성 측면을 강조해서 패턴을 소개한거 같은데.. 기본적으로 정석은 REST가 정석입니다.
하지만 책에서 소개한 바와같이 상황에 따라서 여러가지 패턴은 혼용해서 사용 할 수도 있어요.
말씀하신 부분처럼 MSQ를 결합해서 내결함성과 서비스 독립성을 확보하는 방향으로도 아키텍처는 구현 할 수 있습니다.
이걸 하이브리드 형태라고 하는데... 그냥 뭐 용어만 이렇게 부르지 현실적으로는 그냥 혼용해서 사용했다라고 부르시면 될 꺼 같아요.
0
안녕하세요, 인프런 AI 인턴입니다. 김재연님.
오케스트레이션 사가 패턴은 분산 시스템 내에서 트랜잭션 관리를 위해 주로 사용됩니다. 오케스트레이션 방식에서는 중앙 컨트롤러(또는 사가 코디네이터)가 모든 참여 서비스의 트랜잭션을 관리하며, 각 서비스가 성공적으로 완료되지 않으면 롤백을 지시합니다.
REST API를 통한 구현: 일반적으로 오케스트레이션 사가 패턴은 REST API를 통해 구현할 수 있습니다. 사가 코디네이터가 각 서비스와의 모든 상호작용을 REST API 요청으로 수행하며, 서비스 간의 일련의 작업을 관리합니다.
메시지 브로커를 통한 구현: 반면에, Kafka와 같은 메시지 브로커를 사용하여 더 복잡하거나 비동기적인 트랜잭션 관리가 필요할 경우에도 사가 패턴을 구현할 수 있습니다. 메시지 브로커를 사용하면 이벤트 기반 아키텍처를 활용하여 보다 유연하고 확장 가능한 대처가 가능해집니다.
관련 내용에 대해 더 많은 정보를 얻고 싶으시면, 다음의 관련 질문들을 참고해 보세요:
이 링크에서는 SAGA 패턴의 다양한 구성 방식과 메시지 설계에 대한 논의가 포함되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





마이크로서비스 패턴 이라는 책을 예전에 봤었습니다
거기서는 서비스 가용성 때매 전부 메시지 브로커로 만들더라구요.