[리팩토링] 쿠키 관리를 서버단에서 들고있다면..

초기 상태

  • 게시글을 요청시 마다 서버에서 쿠키를 확인한다.
  • 해당 게시글의 조회수 쿠키가 없는 경우 조회수를 증가시킨다
    • 이후 쿠키를 생성한다.
  • 상당히 직관적이긴하다.
  • 하지만..

    만약 대량의 트래픽이 발생한다면?

    • 서버단에서 매번 글 생성시 서버에 부하를 주게된다.
    • 그냥 클라이언트에게 맡기는 것이 로직의 다이어트를 위해 합리적이다.

왜 클라이언트 단으로 옮겨야하는가

  1. 서버 부하 감소
    • 게시글 요청 마다 쿠키를 확인하여 처리하는 로직이 서버에 부하
  1. 확장성
    • 이후 프론트와 백엔드가 분리되는 경우( 지금은 서버에서 화면단까지 처리중..)
    • 클라이언트에서 처리하는 것이 유연함
  1. 사용자 경험성
    • UX 라고 하는데,, 서버에서 로직을 처리하면 사용자는 게시글 페이지 로딩 시간 동안 기다려야하게 된다.
    • 클라이언트에서 처리하면 페이지 로딩 후 비동기적으로 처리가 가능하다.

변경 후

  1. 클라이언트에서 페이지가 전부 로드된 후 해당 게시글의 조회 쿠키를 확인하여 쿠키가 없다면 조회수를 증가시키는 API 를 비동기적으로 호출한다.
  1. 성공적으로 응답을 받으면 쿠키를 생성한다.

Uploaded by N2T