Skip to content

링크 추가 시 요약 큐에 자동 등록 구현#143

Merged
minibr merged 9 commits intomainfrom
feature/#142-link-summary-worker
Dec 20, 2025
Merged

링크 추가 시 요약 큐에 자동 등록 구현#143
minibr merged 9 commits intomainfrom
feature/#142-link-summary-worker

Conversation

@minibr
Copy link
Contributor

@minibr minibr commented Dec 17, 2025

관련 이슈

PR 설명

구현 내용

링크 저장은 바로 끝내고, 느릴 수 있는 요약 생성은 백그라운드로 분리했습니다. 덕분에 RAG 서버가 지연되거나 잠시 장애가 나도 링크 저장 API 응답에는 영향이 없습니다.

동작 방식

  1. 링크 저장 트랜잭션이 커밋되면 "요약 필요" 이벤트를 발행하고, 그때만 큐에 linkId를 넣습니다.
  2. SummaryQueue가 thread-safe하게 요약 대기 linkId를 보관합니다.
  3. SummaryWorker 데몬 스레드가 큐를 주기적으로 확인해 ID를 꺼내 처리합니다. 슬립 주기는 설정값으로 조정합니다.
  4. RAG 서버에 요약을 요청하고, 받은 응답으로 Summary 엔티티를 생성/저장합니다.

설계 포인트

이벤트 기반으로 큐 추가를 처리해 트랜잭션 롤백 시에도 데이터 일관성을 보장하고, 큐/워커를 독립 컴포넌트로 나눠 서비스 레이어 책임을 분리했습니다. 워커 슬립 등 파라미하되, 백그라운드 워커에서 실행되므로 메인 API 응답 속도에 영향을 주지 않습니다.

비고

  • application.yml/test.yml 수정 및 적용
  • 링크 저장 후 요약 큐에 linkId를 적재하고, 백그라운드 워커가 큐를 모니터링하는 구조 구현 완료
  • 링크는 즉시 저장되고, 요약은 큐에 쌓여 백그라운드에서 RAG 서버를 통해 자동 생성됩니다.
  • 큐를 소비하면서 RAG 서버에 요약을 요청하고, 받은 응답으로 Summary를 생성/저장하는 실제 처리 로직 구현

@minibr minibr linked an issue Dec 17, 2025 that may be closed by this pull request
@minibr minibr changed the title Feature/#142 link summary worker 링크 추가 시 요약 큐에 자동 등록 구현 Dec 17, 2025
@minibr minibr force-pushed the feature/#142-link-summary-worker branch from 9108523 to 0c16854 Compare December 17, 2025 16:45
@minibr minibr self-assigned this Dec 17, 2025
@github-actions
Copy link

github-actions bot commented Dec 17, 2025

📊 코드 커버리지 리포트

Overall Project 88.47% -3.25% 🍏
Files changed 70.87% 🍏

File Coverage
LinkCreatedEvent.java 100% 🍏
GlobalFeignConfig.java 100% 🍏
SummaryQueue.java 100% 🍏
LinkService.java 100% 🍏
LinkEventListener.java 90.53% -9.47% 🍏
SummaryWorker.java 53.68% -46.32% 🍏

@minibr minibr force-pushed the feature/#142-link-summary-worker branch from f44f961 to bc592f4 Compare December 17, 2025 17:34
@ckdals4600
Copy link
Contributor

해당 기능이 왜 필요한가에 대한 이유가 이슈 및 PR 어디에도 작성되어 있지 않은 것 같습니다.
해당 기능 필요 이유와 동작 설명에 대해 더 자세한 작성 부탁드립니다.

@minibr minibr requested review from Goder-0 and ckdals4600 December 18, 2025 17:22
@minibr minibr force-pushed the feature/#142-link-summary-worker branch from 2c3aa24 to cf0c353 Compare December 19, 2025 15:17
@minibr
Copy link
Contributor Author

minibr commented Dec 19, 2025

@ckdals4600 수정했습니다 확인 부탁드립니다.

@minibr minibr force-pushed the feature/#142-link-summary-worker branch from cf0c353 to fd3d8d5 Compare December 20, 2025 16:54
@minibr minibr merged commit 6c617e1 into main Dec 20, 2025
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

링크 추가 시 요약 큐에 자동 등록 구현

3 participants