본문 바로가기
개발/기타

23년 08월 넷째주 WIL

by mabyoungg 2023. 8. 28.

실전 프로젝트 진행 중


이번주는 프로젝트에 swagger 구현, 유저, 게시글 댓글 조회 부분들을 페이지네이션으로 변경, Github Actions과 AWS CodeDeploy를 활용해서 CI/CD 환경을 구축하고 게시글 조회수 부분을 수정하였다.

 기존의 게시글 조회수 로직은 중복 방지를 위해서 쿠키로 게시글 ID 전달하여 중복 방지하였으나, 이번 로직은 접속한 유저가 비로그인 유저면 IP 주소, 로그인한 유저라면 유저 ID 값을 redis에 저장하고 유효시간은 밤 12시까지로 설정해서 다음날은 조회수가 올라가면서 중복방지를 하게 변경하였다. 쿠키, 세션, IP 등 여러 방법들의 장단점이 존재하는 것 같아서 아직 더 고민해봐야 할 것 같다. 또 조회수 증가 로직도 동시성, 정합성 문제로 인해 단순 쿼리문, QueryDSL, 비관적락 베타락 등 JMeter로 테스트해보면서 구현하고 있는데 아직 더 공부하고 고민해야 할 것 같다.

 

기존의 팀원분이 배포하던 서버가 AWS Route53, Elastic Load Balancer 등을 사용하면서 요금이 발생해 이번 프로젝트 규모에서는 적합하지 않다고 생각해 Nginx, Let's Encrypt, 도메인 네임서버 등을 사용해 배포하는 환경으로 변경하는 걸 도와드렸다. 

 

EC2 서버가 멈추는 현상이 발생했는데 메모리 문제인지, 인스턴스의 크레딧을 전부 사용해서 멈춘 건지는 좀 더 알아봐야겠지만 log에는 갑자기 CPU 사용률이 증가하면서 멈추는 걸로 보인다. 원인을 더 찾아봐야 할 듯하다.