초기 상태
- 게시글을 요청시 마다 서버에서 쿠키를 확인한다.
- 해당 게시글의 조회수 쿠키가 없는 경우 조회수를 증가시킨다
- 이후 쿠키를 생성한다.
- 상당히 직관적이긴하다.
- 하지만..
만약 대량의 트래픽이 발생한다면?
- 서버단에서 매번 글 생성시 서버에 부하를 주게된다.
- 그냥 클라이언트에게 맡기는 것이 로직의 다이어트를 위해 합리적이다.
왜 클라이언트 단으로 옮겨야하는가
- 서버 부하 감소
- 게시글 요청 마다 쿠키를 확인하여 처리하는 로직이 서버에 부하
- 확장성
- 이후 프론트와 백엔드가 분리되는 경우( 지금은 서버에서 화면단까지 처리중..)
- 클라이언트에서 처리하는 것이 유연함
- 사용자 경험성
- UX 라고 하는데,, 서버에서 로직을 처리하면 사용자는 게시글 페이지 로딩 시간 동안 기다려야하게 된다.
- 클라이언트에서 처리하면 페이지 로딩 후 비동기적으로 처리가 가능하다.
변경 후
- 클라이언트에서 페이지가 전부 로드된 후 해당 게시글의 조회 쿠키를 확인하여 쿠키가 없다면 조회수를 증가시키는 API 를 비동기적으로 호출한다.
- 성공적으로 응답을 받으면 쿠키를 생성한다.
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링]Mysql 5.1 에서의 주석의 길이 제한 -_ - (0) | 2023.10.01 |
---|---|
[리팩토링]DTO 와 VO 분리 및 PERSISTENCE 생성 (0) | 2023.09.24 |
[리팩토링]@ Controller 에서 API 를 호출하여 사용할 수 있는 restTemplate (0) | 2023.09.23 |
[리팩토링] 현재 코드 상황 분석하기 (0) | 2023.09.21 |
[리팩토링] 예시 코드 일부를 분석해보기 (0) | 2023.09.21 |