스케일링
기술노트
스케일링(Scaling)이란?
스케일링이란 시스템의 처리 능력을 늘려서 더 많은 사용자나 작업을 동시에 처리할 수 있도록 만드는 것을 말합니다. 예를 들어, 식당에서 손님이 많아졌을 때 테이블 수를 늘리는 것처럼 시스템의 자원을 확장하여 늘어나는 수요를 감당하는 방식입니다.
스케일링의 종류 (쉬운 설명)
크게 두 가지로 나눌 수 있습니다.
1. 수직 스케일링(Vertical Scaling) - 하나의 시스템(서버)의 성능 자체를 높이는 방식입니다. - 마치 식당에 손님이 많아져서 기존 테이블 대신 더 크고 튼튼한 테이블로 교체하는 것과 같습니다. - 예시:
- 서버의 CPU나 메모리를 추가하거나 더 좋은 사양으로 업그레이드하는 것입니다. - 노트북의 램(RAM)을 8GB에서 32GB로 업그레이드하여 성능을 높이는 경우가 이에 해당합니다.
2. 수평 스케일링(Horizontal Scaling) - 시스템(서버)의 수를 여러 개로 늘려서 작업을 나눠서 처리하는 방식입니다. - 마치 손님이 많아졌을 때 테이블 개수를 늘리고, 추가로 직원들도 늘려서 주문을 빨리 처리할 수 있게 하는 것과 같습니다. - 예시:
- 서버 1대로 운영되던 웹사이트를 서버 5대로 확장해서 동시에 더 많은 사용자가 접속할 수 있게 하는 것입니다. - 쇼핑몰이 큰 할인 행사 때 추가 서버를 여러 대 추가해서 더 많은 고객이 몰려도 서버가 느려지지 않도록 합니다.
이처럼 스케일링을 통해 시스템이 원활하게 돌아가고 많은 사용자를 무리 없이 처리할 수 있게 됩니다.