### Problem <img width="1568" height="172" alt="Image" src="https://github.com/user-attachments/assets/06e45d4e-3673-4d6e-8b09-ef15f61d7298" /> <img width="3416" height="1778" alt="Image" src="https://github.com/user-attachments/assets/3a06d1ff-dbe9-4527-9d15-9935bd669169" /> - 키워드 알림 전송 API의 P95 응답 시간이 22.9s (한 달간 70건 측정) - APM 측정 결과 API 요청/응답을 처리하는 톰켓 스레드가 30s동안 점유되는 상황 - 톰켓 스레드가 FCM 알림 전송과 같은 부가적인 로직을 수행하는 것은 부적절하다고 생각 ### Proposed Change - FCM 알림 전송과 같은 부가적인 로직은 별도의 스레드에서 실행되도록 개선 ### Tasks - ArticleKeywordEventListener 비동기 처리 - ThreadPoolTaskExecutor 설정 추가 ### Acceptance Criteria - 키워드 알림 전송 API P95 150ms 이하 - FCM 전송 작업이 별도 ThreadPoolTaskExecutor의 스레드에서 실행 - 비동기 처리 관련 단위 테스트 추가
Problem
Proposed Change
Tasks
Acceptance Criteria