📬 Outbox Pattern 을 이용한 분산 시스템에서 메시지 처리

혹시 Transaction Outbox Pattern 을 들어보신적이 있으신가요? 여러개의 시스템이 산재되어 있고 각 시스템끼리 소통할 때 이벤트 혹은 메시징을 발행하여 소통할 경우 데이터의 일관성을 확보하기 위한 고민이 필요한데요, 이러한 고민을 해결할 수 있는 방안 중 하나가 바로 Transaction Outbox Pattern 입니다. 이벤트 혹은 메시징을 발행하여 분산된 각 시스템에 전달할 경우 다음과 같은 이슈가 발생할 수 있습니다. ✔️ Database 처리와 관련된 Transaction 이 끝나지 않아 발행되지 않아야 하는 메시지가 발행될 수 있다. ✔️ 발행되어야 하는 이벤트 혹은 메시지가 발행되지 않고 누락될 수 있다. 이러한 이슈가 발생하는 이유는 이벤트 혹은 메시지를 발행하는 시스템과 이를 소비하는 시스템, Database 처리 등이 모두 분산되어 있기 때문에 하나의 Transaction 으로 묶기 어려워서 그런건데요 Transactional Outbox Pattern 은 Database 와 같은 Transaction 원자성을 보장하는 솔루션을 사용하여 이벤트 발행을 At-Least Once Delivery 로 보장함으로써 위의 이슈를 해결하는 Pattern 입니다. 강남언니 기술 블로그에서 이러한 Transactional Outbox Pattern 에 대한 내용과 이를 활용해 분산된 시스템에서 데이터의 일관성을 확보한 방법을 자세히 정리하였으니 관심있으신 분께서는 한번 보시면 좋겠습니다. 📚 원문 링크 https://blog.gangnamunni.com/post/transactional-outbox/?fbclid=IwAR0xbxBfnusipaPg7gzhw1-Dz-w0SF0NotG0fKG7SUye8Mg6_68AdsHrq4E

분산 시스템에서 메시지 안전하게 다루기

blog.gangnamunni.com

분산 시스템에서 메시지 안전하게 다루기

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 13일 오후 4:19

 • 

저장 22조회 3,454

댓글 0

    함께 읽은 게시물

    < 왜 우리는 좋은 일보다 나쁜 일에 집착할까? >

    1

    ... 더 보기

    혹시 Claude 나 cursor 등 AI 로 개발하실 때
    뭔가 AI 스러운 뻔한 디자인 때문에

    ... 더 보기

    LinkedIn

    www.linkedin.com

    LinkedIn

    이젠 Claude 모델이 그렇게 압도적으로 좋은 건 아닌데, Claude Code는 진짜 분명하게 좋음. 아마도 프롬프트가 잘 되어 있어서 그런 것 같음. Claude의 다른 프롬프트들은 공개해뒀는데 Claude Code용 프롬프트는 공개를 안해줌. 역시 아무리 투명하게 공개한다고 해도 진짜 좋은 건 다 기업비밀임..


    진짜 1인 개발자 전성시대

    1

    ... 더 보기

    진짜 1인 개발자 전성시대

    K리그 프로그래머

    진짜 1인 개발자 전성시대

     • 

    저장 13 • 조회 2,941


    스펙을 뛰어넘는 힘

    

    ... 더 보기

    [AI자격증] NVIDIA-Gen AI LLMs(NCA-GENL)

    ... 더 보기

    Generative AI and LLMs Certification

    NVIDIA

    Generative AI and LLMs Certification