본문 바로가기
개발공부/개념정리

트래픽 급증으로 장애가 발생하면 어떻게 대응해야 하나요? [Scale Up vs Scale Out]

by parkman

Scale Up

Scale Up 방식은 말그대로 고성능 CPU, 메모리 확장, SSD 등 서버의 스펙을 높이는 수직 확장 방식입니다.

1) 장점

  • 구축 설계가 쉬움
  • 여러 대의 서버에 데이터 일관성을 유지해야하는 작업이 필요하지 않음
  • 컨트롤러나 네트워크 비용이 별도로 발생하지 않고, 필요 장비와 전력 소모를 어느 정도 아낄 수 있다.
  • 비교적 업그레이드가 쉽고, 인프라 비용이 추가로 발생하지 않는다.

2) 단점

  • 서버 한대에 모든 부하가 집중되므로 장애 발생 시 치명적
  • 용량, 성능 확장 제한
  • 스케일 업의 일정 수준을 넘어가는 순간, 성능 증가 폭이 미미해진다.
    cpu 의 예를 들자면, i3 에서 i5로 스케일업하는 경우, 1.5배 이상의 성능 변화가 있는 반면, i5 에서 i7로 스케일업하는 경우, 1.2 배의 성능 변화밖에 없다

 

한 대의 서버에서 모든 데이터를 처리하므로 데이터 갱신이 빈번하게 일어나는 ‘데이터베이스 서버’에 적합한 방식이다.

예를 들자면, 온라인 금융거래와 같이 워크플로우 기반의 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경에서는 고성능의 스케일 업 방식이 적합하다고 한다.

Scale Out

Scale Out은 비슷한 스펙의 서버를 여러대로 증설하여 로드밸런싱을 통한 병렬처리가 가능한 수평 스케일업 아키텍처입니다.

1) 장점

  • 서버 한 대가 장애가 발생하더라도 다른 서버로 서비스 제공 가능
    단일 서버에 작업이 쌓여서 멈춰있는 병목현상을 줄일 수 있다.
  • 지속적인 확장성
    용량, 성능 확장에 한계가 없다. 하드웨어를 변경하는 것이 아닌 비슷한 성능의 서버를 여러 대 두는 방법이기 때문에, 확장이 무제한 가능하다.
  • 분산 처리로 인한 장애 가능성이 낮아짐
  • 하나의 시스템을 모니터링하기 쉬워 보다 이슈에 대응하기 좋습니다.

2) 단점

  • 설계 관리의 복잡성
  • 관리 비용이 증가
  • 모든 서버의 데이터 일관성을 유지해야함
  • 서버가 증가함에 따라 같이 증가하는 장애 발생의 확률 또한 올라간다

모든 서버가 동일한 데이터를 가지고 있어야 하므로, 데이터 변화가 적은 서비스에 적당하다.

빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 어플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일아웃 구성이 더 효율적이다.

 

 

 

 

Reference

https://tecoble.techcourse.co.kr/post/2021-10-12-scale-up-scale-out/

https://velog.io/@rudus1012/%EC%B4%88%EB%B3%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EB%8C%80%EA%B7%9C%EB%AA%A8%ED%8A%B8%EB%9E%98%ED%94%BD%EC%97%90-%EB%8C%80%EC%9D%91%ED%95%98%EB%8A%94-%EA%B3%BC%EC%A0%95Scale-Up-vs-Scale-Out

728x90
반응형
LIST

'개발공부 > 개념정리' 카테고리의 다른 글

ArrayList VS LinkedList  (0) 2022.06.24
Dispatcher Servlet  (0) 2022.06.23
[JPA] Entity를 설계할때 주의점(N+1)  (0) 2022.06.21
[Java] String, StringBuffer, StringBuilder  (0) 2022.06.20
데드락(DeadLock)  (0) 2022.06.19