Skip to content

분산 트랜잭션 처리 개선: Auth-User 서버 간 데이터 정합성 보장 #10

@coderabbitai

Description

@coderabbitai

문제 설명

회원가입 과정에서 User 서버 등록은 성공했지만 Auth 서버 저장이 실패하는 경우, 두 시스템 간 데이터 불일치가 발생할 수 있습니다.

현재 AuthServiceImpl.signup() 메서드는:

  • User 서버 실패 시 Auth 저장하지 않음 (정상 처리됨)
  • User 서버 성공 후 Auth 저장 실패 시 User 서버에는 사용자 등록되어 있으나 Auth 서버에는 인증 정보 없음 (문제 발생 가능)

개선 방향

다음 중 하나를 선택하여 구현 필요:

  1. 보상 트랜잭션(Compensating Transaction) 패턴 구현
  2. User 서버에 삭제/롤백 API 추가 후 Auth 저장 실패 시 호출
  3. 이벤트 기반 아키텍처 도입 (메시지 큐 활용)
  4. Saga 패턴 오케스트레이터 구현

관련 정보

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions