로드밸런서도 부하를 줄이는 방법이 맞다. scale in, scale out
scale out을 많이 쓴다.
로드밸런서를 쓰는 이유는 서버를 3대를 썼을 때 한 대에만 트래픽이 가면 안되니까 3대에 골고루 트래픽을 보내주기 위함이다.
spring 서버가 세대가 있다고 가정했을 때 세대에 트래픽 분산을 시켜줘야 함.
로드밸런서 서버를 사용해야 하는데 서버를 하나 띄워서 로드밸런서를 설치해야 함. (NginX)
이렇게 쓰는 건 옛날 방식이다. 로드밸런서 서버를 또 관리해야 해서 아예 아마존에서 로드밸런서 제공해줌.
ELD 사용해서 하는게 더 좋다.
정확히는 AWS에 있는 서버를 쓰면서 내부적으로 그런 구현이 되어있는게 ELD
그냥 갖다가 쓰기만 하면 됨.
전체 목록 조회 API는 페이징 처리를 해야한다.
기본적으로는 들어가야 함. 몇 천개 몇 만개가 들어가면, 용량이 엄청나고 네트워크 비용이 많이 들어서 페이지네이션 처리를 해줘야 한다.
커서 기반 페이지네이션 해보기 → 프론트까지는 굳이 안 해도 될 것 같긴 한데 백에서는 무조건 해야한다.
정확히는 커서 기반 페이지네이션이랑 오프셋 페이지네이션이랑 뭐가 다른지, 장단점은 뭔지, 왜 커서기반 페이지네이션을 써야 하는지. 를 알아야 한다.
조회를 하는 동안 삭제나 생성이 될 수 있어서 생략이 되거나 순서가 뒤죽박죽 돼서 조회되거나 해서 방지하기 위해 사용 → 이런 장단점을 명확히 알고 커서 기반 페이지네이션 구현 해라.
너무 어렵게는 안 해도 됨. QueryDSL 까지는 안 해도 되는데 시간 되면 하면 좋음 → 쿼리 최적화