Skip to content

멀티 모듈 사이 Evnet Transactional Outbox 패턴 도입 #167

@leegyeongwhan

Description

@leegyeongwhan

☑️ 진행할 작업

  • 현재 Rss reader만 존재하지만 추가적으로 Rss planner도 추가해 멀티 모듈화 시키면 두 모듈간의 API호출이 있을 때 Evnet를 사용하는 로직이 있다고 가정했을때 트랜잭션의 정합성을 보장해야 하는 일이 생길 수 있다고 생각합니다.
    ex) 요청 -> API응답 -> OutBox 테이블에 관련 데이터 저장 -> 모듈에서 요청 건 순차적으로 처리
  • 메시지 브로커(이벤트 큐)의 역할로 카프카나, 레딧엠큐 도입을 고려해봅니다.
  • 일단 Event기반으로 동작하는 Slack, Discord 알림 같은 경우 만약 알림 서버를 따로 만들어 모듈화 시킬경우 기존 서버가 죽을 경우 Evnet 기반으로 작업되고 있는 알림도 장애가 발생할 가능성이 있다고 생각이 듭니다. 이때 Transactional Outbox을 도입해 작업을 보장해줍니다.

📝TODO

  • 외부 메시지 브로커 고려하기
  • Transactional Outbox을 통한 Event 처리

⚙️기타

Metadata

Metadata

Assignees

Labels

✨ feature기능 구현에 관련된 라벨입니다.🧑🏻‍💻 backend백엔드 로직에 관련된 라벨입니다.

Type

No type

Projects

Status

✅ To Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions