-
Notifications
You must be signed in to change notification settings - Fork 3
06. Business Logic Operation
Hyuntaek Oh edited this page Dec 5, 2020
·
10 revisions
비즈니스 로직이 동작과정을 작성하는 공간입니다.
- 좋아요 요청 여부를 확인합니다.
- 좋아요가 중복이면 Client에 HttpStatus 500을 반환합니다.
- 좋아요가 중복이 아닐 경우, 버퍼에 좋아요 클릭 여부를 true로 저장합니다.
- 좋아요 체크를 완료하였다면 좋아요 개수를 조회합니다.
- 캐시에 저장된 좋아요 개수를 +1합니다.
- Quartz 스케줄러는 버퍼에 저장된 좋아요 클릭 여부와 관련된 키와 값을 조회하여 MySQL에 Batch Insert를 합니다.
- 쿼츠 스케줄러가 1분마다 DB를 조회하여 최신 추천 피드를 조회합니다.
- 조회한 피드를 캐시에 각각 Index 리스트(List 형태), 실제 피드 데이터(Key-Value 형태)로 분류하여 저장합니다.
- 최신 피드 목록을 요청합니다.
- 피드 목록의 피드들이 캐시에 존재하면 캐시에서 조회하고, 존재하지 않는 피드는 DB에서 조회합니다.
- 조회한 피드 목록과 HttpStatus를 반환합니다.