eatthefrog
서버 스케일링 처리와 트래픽 병목현상 본문

많은 사용자가 서비스를 이용하면 그만큼 서버에게 많은 요청이 들어간다. 그걸 "트랙픽이 높아졌다"고 말한다.
트래픽이 높아질 수록 서버는 바빠진다. 서버는 하나의 프로그램에서 돌아가게 되는 것이며, 요청에 응답하기 위해 해당 당컴퓨터의 CPU, 즉 메모리를 사용하게 된다.이때 트랙픽이 높아질 수록 점점 자원이 남지 않을 것이다. 그러면 결국 응답을 바로바로 못해주고 밀리게 되는 병목현상이 발생한다.

이런 문제를 해결하기 위한 방법으로 크게 두가지 방법이 있다.
바로 **스케일 업**과 **스케일 아웃**!
스케일 업은 해당 서버의 컴퓨터 성능을 높이는 것이다. (CPU나 메모리의 성능을 높여서 더 많은 요청에 대응할 수 있게 만든다.)
스케일 아웃은 서버를 여러대로 늘리는것이다. (트래픽을 분산시켜 하나의 서버가 일하는 양을 줄여준다.)
클라이언트에서 요청이 많아지면 자연스럽게 API 서버가 바빠질거고 이와 맞물려있는 데이터베이스, 스토리지 등도 바빠지게 된다. 그래서 이들도 같이 스케일링 작업을 해줘야 됀다.
최근은 클라우드가 자동으로 스케일링을 해준다. 이를 오토 스케일링 이라고 이야기한다.
덕분에 서버 개발자들은 새벽에도 서버를 계속 모니터링(관찰)하지 않고도 푹 잘 수 있게 된것!

🥑보통 트랙픽이 많은 API(WAS)서버, 데이터베이스 등에 모니터링 도구를 붙여서사용한다.
🥑서버 스케일링 작업 외에도 캐시 서버를 사용해서 서버의 계산작업을 줄여줄 수도 있습니다. 실제로 IT 서비스에서는 서버의 부하를 줄이기 위해 여러 가지의 테크닉들을 사용한다.

서버 입장에서 처리해야할 일을 로드(Load)라고 이야기도 한다. 스케일 아웃을 통해 로드를 분산시키는 과정을 로드밸런싱이라고도 이야기한다.
'백엔드 노트' 카테고리의 다른 글
| GraphQL: A query language for your API 공식문서 읽기 (2) | 2025.06.18 |
|---|---|
| Apollo Server로 GraphQL API 만들기 (0) | 2025.06.16 |
| REST API의 한계와 GraphQL (2) | 2025.06.16 |
| 백엔드 개발자들이 실제로 회사에서 하는 일 (3) | 2024.12.16 |
| API 서버 (1) | 2024.12.16 |