채팅 로그를 DB에 저장할 때

상황 : 

  • 유저가 채팅을 보냄
  • 채팅 메시지를
    1. 모든 접속자에게 브로드캐스트
    2. DB에 채팅 로그로 저장
  • 필요한 트랜잭션 처리 : 
    • 메시지 DB에 저장
    • 저장이 성공한 경우에만 브로드캐스트 (또는 반대의 정책도 가능)
  • 트랜잭션이 없을 경우 :
    • 메시지는 브로드캐스트 되었는데, DB에는 저장이 안 되어 감사 로그 / 신고 처리 시 문제 발생
    • 또는 메시지는 저장되었는데, 클라이언트에는 도달하지 않아 혼란

+ Recent posts