- 개발팀 내에서 당장 해결 가능한 장애인지 파악합니다. 그것이 아니라면
- 대용량 트래픽으로 장애가 발생한다면, 지속적 사용자 불편을 막기위해 사용자 불편을 드려 죄송하다는 공지를 다른 수단(문자나 이메일)로 보내고, 일단 서버를 내릴 것입니다.
- 서버를 내리고 장애가 발생할 시점의 로그를 파악할 것입니다. 어떠한 장애가 있었는지 볼것입니다.
- 만약 대용량 트래픽으로 인한 장애라면, 아래 대응 방안을 고려해볼 것입니다.
대응 방안
- 로드 밸런서를 이용하여 여러대의 서버가 분산 처리하도록 합니다.
- 클라우드 서비스 제공 업체의 오토 스케일링 기능(서버의 부하를 체크하여 서버를 생성하는 방식)을 사용해 봅니다.
- 데이터 베이스 샤딩을 적용.(DB 테이블을 수평 분할하여 물리적으로 서로 다른곳에 분산 저장)
- 데이터베이스 레플리카 적용
- 스케일 업합니다.
- 정적 컨텐츠에 대해 CDN 서비스를 이용하여 컨텐츠 다운 시간을 단축시킵니다.
- API의 응답속도를 단축시키위해 코드를 리팩토링해봅니다.
참고자료
https://limjunho.github.io/2021/06/22/traffic-handling.html