단계적 성능 저하를 위한 설계

Google Cloud Well-Architected Framework의 안정성 핵심 요소에 있는 이 원칙은 비정상적으로 실패할 워크로드를 설계하는 데 도움이 되는 Google Cloud 워크로드를 설계하는 데 도움이 되는 권장사항을 제공합니다.

이 원칙은 신뢰성의 응답 중점 영역과 관련이 있습니다.

원칙 개요

단계적 성능 저하는 고부하가 발생한 시스템이 계속해서 성능 또는 정확성이 저하되는 방식으로 작동하는 설계 접근 방식입니다. 단계적 성능 저하는 시스템 작업이 최적이 아니더라도 시스템의 지속적인 가용성을 보장하고 완전한 장애를 방지합니다. 부하가 관리 가능한 수준으로 돌아오면 시스템은 완전한 기능을 재개합니다.

예를 들어 부하가 높은 기간에는 Google 검색은 순위가 더 높은 웹페이지의 결과를 우선적으로 처리하므로 정확성이 다소 저하될 수 있습니다. 부하가 감소하면 Google 검색에서 검색 결과를 다시 계산합니다.

권장사항

단계적 성능 저하를 위해 시스템을 설계하려면 다음 하위 섹션의 권장사항을 고려하세요.

제한 구현

복제본이 과부하를 독립적으로 처리할 수 있고 트래픽이 많은 시나리오에서 들어오는 요청을 제한할 수 있는지 확인합니다. 이 방법을 사용하면 영역 간 과도한 트래픽 전환으로 인해 발생하는 연쇄 장애를 방지할 수 있습니다.

Apigee와 같은 도구를 사용하면 트래픽이 많은 시기에 API 요청 비율을 제어할 수 있습니다. 요청을 축소하는 방법을 반영하도록 정책 규칙을 구성할 수 있습니다.

초과 요청 조기 삭제

프런트엔드 레이어에서 초과 요청을 삭제하여 백엔드 구성요소를 보호하도록 시스템을 구성합니다. 일부 요청을 삭제하면 전역 장애가 방지되고 시스템이 더 원활하게 복구할 수 있습니다.이 방법을 사용하면 일부 사용자에게 오류가 발생할 수 있습니다. 하지만 과부하 시 모든 트래픽이 삭제되는 회로 차단과 같은 접근 방식과 달리 서비스 중단의 영향을 최소화할 수 있습니다.

부분 오류 및 재시도 처리

부분적인 오류와 재시도를 원활하게 처리하도록 애플리케이션을 빌드합니다. 이러한 설계는 부하가 높은 시나리오에서 최대한 많은 트래픽이 처리되도록 합니다.

과부하 시나리오 테스트

제한 및 요청-드롭 메커니즘이 효과적으로 작동하는지 확인하려면 시스템에서 정기적으로 과부하 조건을 시뮬레이션하세요. 테스트를 통해 시스템이 실제 트래픽 급증에 대비할 수 있습니다.

트래픽 급증 모니터링

분석 및 모니터링 도구를 사용하여 트래픽 급증이 과부하로 에스컬레이션되기 전에 이를 예측하고 이에 대응할 수 있습니다. 조기 탐지 및 대응은 수요가 많은 기간 동안 서비스 가용성을 유지하는 데 도움이 될 수 있습니다.