DB 리소스 이용률 또한 높아 서버 및 DB에 많은 부하를 주기 시작하였는데 이 상황을 어떻게 극복하는 것이 좋을까?
인스턴스가 10~20~30 DB 이슈가 없게 처리해야
-작업성
이쪽에서 읽은 정보가 저쪽에서 읽은 정보랑 달라서: 즉 동시성 문제 어떻게 극복하는가?!
조회를 분리한다. 왜냐면 조회가 가장 많이 일어나니까ㅇㅇ = CQRS패턴
REDIS 처럼 cashe를 사용한다
DB lock. 내가 지금 쓰고 있으니까 너 쓰지마 , <- 근데 락 때문에 어려움 = "분산 락"
DB 쿼리가 느리다 : 백발백중 조인관계가 많기 때문. ㅎㅎㅎㅎ
그리고 foreign키 삭제가 일어나면 cascade가 일어나면서 db락이 걸림. 그래서 락이 걸린 db가 느려지는 것이다.!! 이거 더 공부할 필요가 있음.
=> foreignkey를 쓰지 말자는 =>그냥 foreign가 아닌 pk값을 들고 있어도 필요한 경우만 pk값을
우린 백엔드 개발자로 db만 공부할것 아니기 때문에 그럼 foreignkey 없이 가는게 나을수도 있음.
오토스케일링 등을 통해 컨테이너 기반 스케일 아웃 드을 알아보았다.