Skip to content

06. Business Logic Operation

Hyuntaek Oh edited this page Dec 5, 2020 · 10 revisions

비즈니스 로직이 동작과정을 작성하는 공간입니다.

🏷️ 좋아요 요청 Logic

good_request_logic

✔️ 동작과정

  1. 좋아요 요청 여부를 확인합니다.
  2. 좋아요가 중복이면 Client에 HttpStatus 500을 반환합니다.
  3. 좋아요가 중복이 아닐 경우, 버퍼에 좋아요 클릭 여부를 true로 저장합니다.
  4. 좋아요 체크를 완료하였다면 좋아요 개수를 조회합니다.
  5. 캐시에 저장된 좋아요 개수를 +1합니다.
  6. Quartz 스케줄러는 버퍼에 저장된 좋아요 클릭 여부와 관련된 키와 값을 조회하여 MySQL에 Batch Insert를 합니다.

🏷️ 최신 피드 갱신 Logic

cache_inline_pattern

✔️ 동작과정

  1. 쿼츠 스케줄러가 1분마다 DB를 조회하여 최신 추천 피드를 조회합니다.
  2. 조회한 피드를 캐시에 각각 Index 리스트(List 형태), 실제 피드 데이터(Key-Value 형태)로 분류하여 저장합니다.

🏷️ 최신 피드 조회 Logic

cache_aside_pattern

✔️ 동작과정

  1. 최신 피드 목록을 요청합니다.
  2. 피드 목록의 피드들이 캐시에 존재하면 캐시에서 조회하고, 존재하지 않는 피드는 DB에서 조회합니다.
  3. 조회한 피드 목록과 HttpStatus를 반환합니다.
Clone this wiki locally