Scale Up과 Scale Out의 서버의 성능 향상을 위한 두 가지 방법이다.
Scale Up ( 수직적 확장 )
수직적 확장은 단일 서버의 하드웨어의 성능을 높인다. ( CPU, Memory 등의 스펙을 높인다. )
서버의 하드웨어의 성능을 높여서 요청에 대한 처리를 더욱 빠르게 처리할 수 있도록 한다.
장점
- 단순성: 기존 시스템을 그대로 업그레이드하기 때문에 관리가 간단.
- 빠른 성능 향상: 고성능 하드웨어로 즉각적인 성능 개선.
- 애플리케이션 호환성: 기존 소프트웨어나 아키텍처를 크게 변경할 필요 없음.
단점
- 비용 문제: 고성능 하드웨어는 매우 비쌈.
- 물리적 한계: CPU 코어 수, 메모리 용량 등 하드웨어의 물리적 한계에 도달할 수 있음.
- 단일 장애 지점(SPoF): 시스템이 중단되면 전체 서비스가 중단될 위험.
Scale Out ( 수평적 확장 )
단일 서버의 하드웨어 성능을 높이는 것이 아닌 같은 사양의 서버(인스턴스)를 여러 대 배치한다.
여러 대의 서버를 병렬적으 배치하여 동시에 더 많은 사용자 요청을 처리할 수 있도록 만든다.
장점
- 유연성: 필요한 만큼 시스템을 추가하여 확장 가능.
- 고가용성: 여러 노드가 작업을 분산 처리하므로 장애 발생 시에도 서비스 지속 가능.
- 비용 효율성: 고성능 하드웨어 대신 저렴한 장비를 추가적으로 활용 가능.
단점
- 복잡성 증가: 여러 노드 간의 데이터 동기화 및 네트워크 관리가 필요.
- 지연 시간: 네트워크 통신으로 인해 약간의 지연 발생 가능.
- 소프트웨어 수정 필요: 분산 처리 아키텍처를 지원하도록 애플리케이션을 설계해야 함.
'용어 모음집' 카테고리의 다른 글
프레임워크와 라이브러리 (0) | 2024.11.26 |
---|---|
Connection과 Connectionless (0) | 2024.11.26 |
Stateful과 Stateless (0) | 2024.11.26 |
JSON (1) | 2024.11.26 |
프로그래밍 명명규칙(Casing) (0) | 2024.11.26 |