Post

정보의 일관성을 고려하여 Transaction 재설계하기(2)

정보의 일관성을 고려하여 Transaction 재설계하기(2)

지난 글 요약

지난번에 작성한 글에서는 이미지 업로드와 재업로드 동작에 대해서 나누어 생각해보고 트랜잭션을 잘 설계하기 위해서 고려할 점에 대해 알아봤다.

  1. 트랜잭션의 동작은 정말 필수적인 것으로만 최소화 되어야 한다.
  2. 순서에 따라 복구로직이 달라지니 이를 고려해야한다. (A->B 이면 A를 복구해야함)

분산 트랜잭션

그런데 나의 경우를 조금 더 트랜잭션의 관점에서 일반화해서 생각을 해보면 하나의 트랜잭션이 여러개의 외부의 동작에 의존을 하고 있는 경우라고 볼 수 있다. 그리고 이런 경우를 분산 트랜잭션이라한다.

트랜잭션이 여러 시스템에 분산되어 있기 때문에 하나의 시스템에서 트랜잭션의 성공/실패 여부를 바로 알 수 없고 반드시 통신을 통한 시스템간의 정보 공유가 필요하게 된다.

작성중…

This post is licensed under CC BY 4.0 by the author.