확장 소프트웨어는 더 많은 사용자, 데이터, 또는 효율적으로 트랜잭션을 처리 할 수있는 능력을 증가시킨다. 그것은 성능과 신뢰성을 보장하기 위해 용량, 적절한 디자인 패턴을 적용하고 실제 사례를 분석하는 데 필요한 계산을 이해해야합니다.

확장을위한 계산

효과적인 스케일링은 용량 계획으로 시작합니다. 이 시스템은 필요한 리소스를 처리하고 결정할 수 있습니다 최대 부하를 추정합니다. 처리량, 대기 시간 및 자원 활용과 같은 주요 지표는 이러한 계산에 필수적입니다.

예를 들어, 서버 요구 사항을 계산하기 위해, 동시 사용자의 수를 고려, 평균 요청 크기, 응답 시간. 이러한 사용, 당신은 성능 유지에 필요한 서버 또는 인스턴스의 수를 추정 할 수 있습니다.

Scaling을 위한 디자인 패턴

디자인 패턴은 확장 가능한 아키텍처를 만듭니다. 일반적인 패턴은 로드 밸런싱, 캐싱 및 데이터베이스 스윙을 포함합니다. 이 패턴은 워크로드를 배포하고 병목을 감소시킵니다.

Microservices 아키텍처는 시스템의 작은, 독립적 인 서비스로 분할하는 또 다른 패턴입니다. 이것은 개별 구성 요소를 독립적으로 수요에 따라 늘릴 수 있습니다.

실제 예제

많은 대규모 시스템에서는 이러한 원칙을 구현합니다. 예를 들어, 콘텐츠 전달 네트워크(CDNs) 캐시 정적 콘텐츠는 서버 부하를 줄이기 위해 여러 위치에서 수행됩니다. AWS 또는 Azure와 같은 클라우드 플랫폼은 자동으로 트래픽을 기반으로 리소스를 조정하는 자동 확장 기능을 제공합니다.

또 다른 예는 데이터베이스를 사용하여 여러 서버의 데이터를 배포하는 전자 상거래 웹 사이트이며, 피크 쇼핑 기간 동안 빠른 액세스 및 높은 가용성을 보장합니다.