프로젝트를 진행하면서 댓글 작성 기능을 구현하던 중 고민이 생겼습니다.댓글이 저장된 후 작성자에게 알림을 보내는 과정이 하나의 트랜잭션 안에서 순차적으로 묶여 있었기 때문입니다.만약 알림을 보내는 과정에서 문제가 생기거나 시간이 지연된다면 사용자는 댓글 작성이 완료될 때까지 계속 기다려야 하거나 심지어 댓글 등록 자체가 실패할 수도 있다는 문제가 있었습니다.오늘은 이 문제를 해결하기 위해 Spring Event와 @Async를 도입하여 시스템의 구조를 유연하게 리팩토링한 과정을 공유합니다.1. 기존 방식의 문제점 (As-Is)초기 코드는 CommentService가 NotificationService를 직접 의존하고 호출하는 구조였습니다. // 기존 코드 (동기 방식)@Transactionalpublic..