🌩️Cloud

Scale up & Scale out

코딩베이비 2022. 12. 9. 11:18

https://levelup.gitconnected.com/how-to-design-a-system-to-scale-to-your-first-100-million-users-4450a2f9703d

한 서비스에 너무 많은 사용자(클라이언트)가 접속하게 되면, 서버에는 과부하가 오기 마련이다.

과부하로 인해 서버가 원할한 서비스를 제공하지 못하는 경우, 이를 해결하는 방법은 크게 두가지가 있다.

  1. Scale-up
  2. Scale-out

Scale-up(수직확장)

  • 물리적으로 서버의 사양을 높이는 하드웨어적 방법
  • 서버의 수가 늘어나는 것이 아니기에 프로그램 구현의 변화가 필요없음
  • 성능 확장에 한계가 있음
  • 성능 증가에 따른 비용 증가폭이 큼
  • 사양을 늘린만큼 클라이언트의 요청이 다시 늘어날 경우 과부하 재발생

 

Scale-out(수평확장)

  • 서버의 개수를 늘려 한 개의 서버에 주는 부하를 줄이는 방법
  • 여러 서버로 부하를 나눠주는 대역이 필요(Load Balancer)
  • 이론상 지속적으로 확장 가능
  • 비교적 저렴한 비용으로 서버 사용 가능