event1 [Spring] Event로 느슨한 결합 찍먹하기 0. 이 글을 쓰게 된 이유 이번 프로젝트를 진행하며 Event를 활용하여 요구사항을 해결한 적이 있다. 그 과정을 기록하고자 이 글을 쓰게 되었다. 1. 쉽지 않은 요구사항 로드맵을 생성하는 로직이 있다. 이 로드맵은 각 단계가 있고, 각 단계에 사진 파일이 여러개 저장될 수 있다. 이 로직은 간단해보이지만 다음과 같은 문제점이 있다. 1. I/O가 실패하여 사진이 없어도 로드맵 생성 자체는 되어야한다라는 요구사항이 있다. 2. I/O중 예외가 발생하면 로드맵 생성 자체가 롤백된다. 3. 각 사진 파일은 I/O가 발생한다. 한 요청에 파일 I/O가 10번이상 발생할 수 있으니 트랜잭션이 굉장히 길게 걸린다. 4. 파일 I/O 후 경로와 같은 메타 데이터를 DB에 저장해야한다. 즉, 파일 I/O하는 서브.. 2023. 8. 29. 이전 1 다음