-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
✅ 이슈 제목
- [BE | 뉴스] 데이터 정합성 보장을 위한 Outbox Pattern 구현 및 검색 동기화 자동화
📌 이슈 유형
- 기능 추가
- 버그 수정
- 리팩토링
- UI 작업
- 문서 작성
- 기타
🛠️ 작업 내용
- 목표: 기존의
Double Write방식(Service에서 MySQL과 ES를 동시에 저장)의 한계점인 트랜잭션 불일치 문제를 해결합니다. - 해결 방안: Transactional Outbox Pattern을 도입하여, 뉴스 저장 시 MySQL 저장과 '이벤트 발행'을 하나의 트랜잭션으로 묶고, 별도의 스케줄러가 비동기로 Elasticsearch에 데이터를 적재하도록 변경합니다.
- 기대 효과: 뉴스 크롤링/저장 시 데이터 누락 방지 및 시스템 간 결합도 감소.
📍 Todo
-
OutboxEventEntity 및 Repository 구현 (MySQLoutbox_event테이블) -
NewsService저장 로직 리팩토링 (직접 ES 호출 제거 -> Outbox 이벤트 발행으로 변경) -
NewsEsDto생성 (JSON 직렬화/역직렬화 및 Elasticsearch 매핑용 DTO) -
OutboxEventScheduler구현 (2초 주기로 PENDING 상태 이벤트 감지 및 처리) -
NewsSearchService동기화 메서드 구현 (기업명 매핑 로직 포함) - 기존 데이터 마이그레이션(Backfill) 테스트 및 검증 완료
📎 참고사항
- 관련 아키텍처: Phase 2 (데이터 정합성 확보)
- 변경 파일:
NewsService.javaNewsSearchService.javaOutboxEventScheduler.javaNewsEsDto.javaOutboxEvent.java
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels