스카우터와 개틀링을 통해서 서버 튜닝을 시도해 보았다.
https://www.mongodb.com/docs/manual/reference/connection-string/
https://aljjabaegi.tistory.com/601
Tomcat의 thread, timeout 설정과 MongoDB connetion timeout, queue size 등등을 하나씩 변경해 보면서 테스트를 진행했는데, 모든 테스트가 동일하게 300 TPS 즈음에서 API들이 실패했다. RAM 8G인 M1 맥북을 서버로 두고 있는 한계인지 건들인 지표들이 잘못됐는지 모르겠다. 환경의 차이를 두고 확인해 봐야할 것으로 보인다.
Noti 서비스가 Item 서비스에서 배치 작업으로 마감된 상품들을 전송하면, MySQL DB에 저장하는 로직 구현이 완료되었다. 푸시알림은 당장 고려하고 있지 않아서 알림 리스트를 GET할 때, 읽지 않은 알림이 있다는 것을 클라이언트에 알려주는 방식이다.