Amazon OpenSearch Service, 백프레셔와 Admission Control로 안정성 UP!

by DD
3개월 전
조회수 32

Amazon OpenSearch Service는 클러스터의 안정성 위험을 감지하고, 과도한 요청을 거부하여 성능 저하를 방지함

2023년 Search BackpressureCPU 기반 Admission Control을 도입하여 클러스터 복원력을 향상시킴

Search Backpressure는 리소스 집약적인 검색 요청을 식별하고 취소하여 노드 크래시(Node Crash)를 방지

Admission Control은 노드의 CPU 사용량을 기반으로 검색 요청 수를 제한하여 핫스팟(Hotspot) 발생을 예방

Search Backpressure의 작동 원리

Search Backpressure는 작업 리소스 추적 프레임워크(Task Resource Tracking Framework) 위에 구축되어, 각 검색 작업의 리소스 사용량을 모니터링한다.

백그라운드 스레드(Background Thread)는 CPU 시간, 힙 할당, 경과 시간 등을 기반으로 취소 점수(Cancellation Score)를 할당

높은 취소 점수(Cancellation Score)는 리소스 집약적인 검색 요청을 의미하며, 취소 점수의 내림차순으로 검색 요청 취소

취소 횟수는 속도 제한(Rate Limit)되어 불필요한 작업 방지

결과적으로 과도한 부하(Excessive Load)를 감지하고, 검색 요청을 선택적으로 취소하여 클러스터의 안정성을 유지한다.

CPU 기반 Admission Control의 역할

Admission Control은 유기적인 검색 요청 증가와 트래픽 급증에 대응하기 위해, 노드의 현재 용량을 기반으로 검색 요청 수를 제한하는 게이트키핑 메커니즘(Gatekeeping Mechanism)이다.

각 노드의 평균 CPU 사용량을 모니터링하여, _search 및 _bulk 요청을 거부

JVM 메모리 압박(JVM Memory Pressure)과 요청 크기 임계값(Request Size Threshold)도 고려

HTTP 429 “Too Many Requests” 상태 코드를 반환하여 과도한 요청(Excessive Request)을 알림

결론적으로, Admission Control은 핫스팟(Hotspot) 발생, 성능 저하, 요청 타임아웃(Request Timeout) 및 연쇄적 장애(Cascading Failure)를 예방하는 데 기여한다.

HTTP 429 오류 처리 방법

노드에 과도한 트래픽(Excessive Traffic)을 보내면 HTTP 429 오류를 받게 되며, 이는 클러스터 리소스 부족, 리소스 집약적인 검색 요청, 또는 의도하지 않은 워크로드 급증을 나타낸다.

Search Backpressure는 거부 이유(Rejection Reason)를 제공하여 리소스 집약적인 검색 요청(Resource-intensive Search Request) 미세 조정 지원

트래픽 급증(Traffic Spike)의 경우, 지수 백오프(Exponential Backoff)와 지터(Jitter)를 사용한 클라이언트 측 재시도(Client-side Retry) 권장

문제 해결 가이드(Troubleshooting Guide)를 통해 검색 또는 쓰기 거부(Write Rejection) 문제 해결

결과적으로, HTTP 429 오류는 클러스터의 상태를 파악하고, 문제 해결(Troubleshooting)을 위한 중요한 단서를 제공한다.

OpenSearch 클러스터 복원력 향상의 의미

Search Backpressure와 Admission Control은 OpenSearch 클러스터의 전반적인 복원력을 향상시키는 데 기여한다. Search Backpressure는 과도한 부하를 제거하는 반응적 메커니즘(Reactive Mechanism)이며, Admission Control은 노드의 용량을 초과하는 요청 수를 제한하는 사전 예방적 메커니즘(Proactive Mechanism)이다.

클러스터 안정성(Cluster Stability) 확보: 노드 크래시(Node Crash) 및 성능 저하 방지

사용자 경험(User Experience) 개선: 검색 지연 시간(Search Latency) 감소 및 가용성(Availability) 향상

운영 효율성(Operational Efficiency) 증대: 수동 개입(Manual Intervention) 감소 및 자동화된 문제 해결

결론적으로, 이러한 기능들은 OpenSearch 클러스터의 안정적인 운영(Stable Operation)을 보장하고, 사용자에게 일관된 검색 경험을 제공한다.

Amazon OpenSearch Service백프레셔와 Admission Control에 대한이해와 클러스터 복원력 향상

댓글 0

첫 번째 댓글을 남겨보세요!