새로운 내용을 공부할 때
새로운 내용의 공부를 시작할 때 용어의 정의를 이해하지 못하거나 정확하게 알지 못한다면 그 용어가 포함된 문장을 이해하지 못합니다.
작은 단어 하나가 내용을 이해하지 못하게 하기 때문에 용어를 정확하게 이해하는 것이 중요합니다.

최대 1 분 소요

오늘은 보상 트랜잭션에 대해서 간단한 용어 정리를 했습니다.

보상이라는 말이 와닿지 않아서 Compensating 단어를 찾아보니 보상하다, 상쇄하다 라고 번역이 되었습니다.

기본 트랜잭션 방식은 데이터베이스의 기능을 활용하여 start transaction,commit,rollback을 통해 원자성을 유지합니다.

하지만, 외부 네트워크를 사용하는 경우에는 기본 트랜잭션 방식을 사용할 수 없습니다.

단순히 조회가 아니라 외부 네트워크와 통신하여 데이터 저장을 요청하고, 로컬 데이터베이스에 저장할때

그 사이에 예외가 발생한다면 보상 트랜잭션 방식을 통해 해결할 수 있습니다.

보상 트랜잭션은 작업이 실패하면,같이 묶은 하나의 작업 단위를 취소하거나 되돌리는 작업을 수행하는 방식을 말합니다.

보상 트랜잭션과 더불어 추가로 학습 해야 하는 패턴은 SAGA패턴, TCC패턴,2PC(Two-Phase-Commit),3PC(Three-Phase-Commit)등이 있습니다.

오늘 짧게 학습해본 보상 트랜잭션을 해봤는데

용어를 잘 몰랐지 생각해보니 회사에 적용한 외부 네트워크 방식도 작은 보상 트랜잭션 패턴으로 적용했었습니다.

이후 학습 목표

  • 보상 트랜잭션 학습
    • 사용할 수 있는 환경과 한계 학습하기
  • abstract vs interface 학습
    • 이펙티브 자바 아이템 15~22까지 학습

댓글남기기