수직 확장은 한 대를 키우고, 수평 확장은 대체 가능한 여러 대를 만든다

성능만 보면 수직 확장이 쉬워 보이지만, 장애 격리와 비용 효율까지 보면 수평 확장의 설계 조건이 핵심입니다.

Vertical

CPU와 메모리를 올려 단일 서버 처리량을 늘립니다.

장점

구현이 단순하고 코드 변경이 적습니다.

한계

물리 한계와 단일 장애 지점이 남습니다.

Horizontal

같은 역할의 인스턴스를 추가해 요청을 나눕니다.

장점

장애 격리와 가용성이 좋아집니다.

조건

상태 공유와 헬스 체크 설계가 필요합니다.

CPU 코어

단일 이벤트 루프만 믿으면 코어를 충분히 쓰기 어렵습니다.

I/O 부하

DB, cache, 외부 API 대기 시간을 여러 인스턴스로 분산합니다.

장애 격리

프로세스 하나가 죽어도 전체 서비스가 멈추지 않게 합니다.

결론: NestJS 수평 확장의 성공 조건은 stateless 설계와 헬스 체크입니다.