작성
·
606
1
멀티스레드 파트 듣고 궁금증이 생겨 질문 드립니다.
만약 제가 서비스를 운영하던 중 트래픽 때문에 서버가 죽어버린 경우 서버 증설을 할수 없다는 가정 하에 어떤 방법으로 이슈를 처리해야 할까요 ?
가정을 하나만 세워놓는게 제가 원하는 답변을 받을 수 있을 것 같아 질문 수정 하겠습니다
' 마이크로 서비스를 사용하지 않는 상태, 새벽시간에 과도한 트래픽이 유입되는 상황, 작은 규모의 개발 이기 때문에 서버 증설이 어려운 경우 ' -> 미리 대비를 하지 못함.
만약 위라는 가정 하에 was서버가 다운이 되어버린다면 백엔드 개발자로서 당장 취해야 하는 조치는 어떤 것이 있을까요 ?
답변 1
0
안녕하세요. HC K님, 공식 서포터즈 David입니다.
.
서버가 다운 되는 이유도 어려가지 입니다.
먼저, 점검페이지로 요청을 돌려둡니다. 계속해서 서버가 감당할 수 없는 만큼 트래픽이 지속적으로 유입된다면요.
다운되는 원인을 찾아내야 합니다.
connection pool timeout, 코드 내 memory leak 등 여러 이유가 있겠죠.
이미 모니터링 툴이 설치되어 동작하고 있었다면 서버가 다운되는 시점을 분석해서 원인을 찾아낼 수 있습니다. 그렇다고 모니터링 툴이 만능은 아니지만 적어도 어떤 일이 일어났는지 파악할 순 있습니다.
필요하다면 힙 덤프를 떠서 살펴보고요.
원인을 찾았다면 수정해야겠죠. 그런데, 지금 당장 수정하기 힘들다면 다른 방법을 찾아봐야 합니다.
죽는 것보다 서비스가 돌아가는게 중요하다면 사용자의 유입을 특정 수 만큼 제한하는 방법도 있겠네요.
코드 레벨에서 해결할 수 있는 문제라면 조치 후 운영하시면 될테고, 물리적인 문제라면 서버 증설을 빠르게 진행하시면 됩니다.
상황에 따라 대응방법이 다르므로 대략적인 부분만 말씀드렸습니다.
.
감사합니다.