Usługa Amazon OpenSearch to zarządzana usługa, która ułatwia zabezpieczanie, wdrażanie i obsługę klastrów OpenSearch na dużą skalę w chmurze AWS. W zeszłym roku wprowadziliśmy Przeciwciśnienie indeksowania odłamków i kontrola dostępu, która monitoruje zasoby klastra i ruch przychodzący w celu selektywnego odrzucania żądań, które w przeciwnym razie stanowiłyby zagrożenie dla stabilności, takie jak brak pamięci i wpływ na wydajność klastra z powodu rywalizacji o pamięć, nasycenia procesora i obciążenia GC i innych.
Cieszymy się, że możemy teraz wprowadzić funkcję Search Backpressure i kontrolę dostępu opartą na procesorze dla usługi OpenSearch, która jeszcze bardziej zwiększa odporność klastrów. Te ulepszenia są dostępne dla wszystkich wersji OpenSearch 1.3 lub nowszych.
Wyszukaj przeciwciśnienie
Przeciwciśnienie zapobiega przeciążeniu systemu pracą. Robi to, kontrolując natężenie ruchu lub zmniejszając nadmierne obciążenie, aby zapobiec awariom i utracie danych, poprawić wydajność i uniknąć całkowitej awarii systemu.
Search Backpressure to mechanizm służący do identyfikowania i anulowania żądań wyszukiwania w locie, które wymagają dużej ilości zasobów, gdy węzeł znajduje się pod przymusem. Jest skuteczny w przypadku obciążeń związanych z wyszukiwaniem o wyjątkowo wysokim zużyciu zasobów (takich jak złożone zapytania, powolne zapytania, wiele trafień lub duże agregacje), które w przeciwnym razie mogłyby spowodować awarie węzłów i wpłynąć na kondycję klastra.
Search Backpressure opiera się na strukturze śledzenia zasobów zadań, która zapewnia łatwy w użyciu interfejs API do monitorowania wykorzystania zasobów każdego zadania. Search Backpressure wykorzystuje wątek w tle, który okresowo mierzy wykorzystanie zasobów węzła i przypisuje ocenę anulowania do każdego zadania wyszukiwania w locie na podstawie takich czynników, jak czas procesora, alokacje sterty i czas, który upłynął. Wyższy wynik anulowania odpowiada żądaniu wyszukiwania wymagającemu większej ilości zasobów. Żądania wyszukiwania są anulowane w kolejności malejącej ich wyniku anulowania, aby szybko odzyskać węzły, ale liczba anulowań jest ograniczona, aby uniknąć marnotrawstwa pracy.
Poniższy diagram ilustruje przepływ pracy Wyszukiwanie przeciwciśnienia.
Żądania wyszukiwania zwracają kod stanu HTTP 429 „Zbyt wiele żądań” po anulowaniu. OpenSearch zwraca częściowe wyniki, jeśli tylko niektóre fragmenty zawiodą i częściowe wyniki są dozwolone. Zobacz następujący kod:
Monitorowanie ciśnienia wstecznego wyszukiwania
Możesz monitorować szczegółowy stan Search Backpressure za pomocą interfejsu API statystyk węzła:
Możesz także wyświetlić podsumowanie odwołań w całym klastrze za pomocą Amazon Cloud Watch. Następujące dane są teraz dostępne w ES/OpenSearchService przestrzeń nazw:
- Anulowano zadanie wyszukiwania – Liczba odwołań węzła koordynatora
- Anulowano zadanie SearchShard – Liczba odwołań węzłów danych
Poniższy zrzut ekranu przedstawia przykład śledzenia tych metryk w konsoli CloudWatch.
Kontrola dostępu oparta na procesorze
Kontrola dostępu to mechanizm kontroli dostępu, który proaktywnie ogranicza liczbę żądań do węzła na podstawie jego aktualnej przepustowości, zarówno w przypadku wzrostów organicznych, jak i skoków ruchu.
Oprócz presji na pamięć JVM i progów wielkości żądań, teraz monitoruje również średnie kroczące użycie procesora przez każdy węzeł, aby odrzucić przychodzące _search
i _bulk
upraszanie. Zapobiega przeciążeniu węzłów zbyt dużą liczbą żądań, co prowadzi do powstawania gorących punktów, problemów z wydajnością, przekroczenia limitu czasu żądań i innych kaskadowych awarii. Nadmierne żądania zwracają kod stanu HTTP 429 „Zbyt wiele żądań” po odrzuceniu.
Obsługa błędów HTTP 429
Otrzymasz błędy HTTP 429, jeśli wyślesz nadmierny ruch do węzła. Wskazuje to na niewystarczające zasoby klastra, żądania wyszukiwania wymagające dużej ilości zasobów lub niezamierzony wzrost obciążenia.
Search Backpressure zapewnia powód odrzucenia, co może pomóc w dostrojeniu żądań wyszukiwania wymagających dużej ilości zasobów. W przypadku skoków ruchu zalecamy ponawianie prób po stronie klienta z wykładniczym wycofywaniem i jitterem.
Możesz również postępować zgodnie z tymi przewodnikami rozwiązywania problemów, aby debugować nadmierne odrzucenia:
Wnioski
Search Backpressure to reaktywny mechanizm zmniejszający nadmierne obciążenie, podczas gdy kontrola dostępu to proaktywny mechanizm ograniczający liczbę żądań do węzła poza jego możliwości. Oba działają w tandemie, aby poprawić ogólną odporność klastra OpenSearch.
Szukaj Przeciwciśnienie jest dostępne w Otwórz wyszukiwanie, i zawsze szukamy wkłady zewnętrzne. Możesz odnieść się do RFC zacząć.
O autorach
Ketan Verma jest starszym SDE pracującym nad usługą Amazon OpenSearch. Pasjonuje go budowanie systemów rozproszonych na dużą skalę, poprawianie wydajności i upraszczanie złożonych pomysłów za pomocą prostych abstrakcji. Poza pracą lubi czytać i doskonalić swoje umiejętności domowego baristy.
Suresh NS jest starszym SDE pracującym nad usługą Amazon OpenSearch. Pasjonuje się rozwiązywaniem problemów w systemach rozproszonych dużej skali.
Pritkumar Ladani jest SDE-2 działającym na Amazon OpenSearch Service. Lubi przyczyniać się do rozwoju oprogramowania open source i jest pasjonatem systemów rozproszonych. Jest amatorskim badmintonistą i lubi trekking.
Bukhtawar Chan jest głównym inżynierem pracującym nad usługą Amazon OpenSearch. Interesuje się budową systemów rozproszonych i autonomicznych. Jest opiekunem i aktywnym współpracownikiem OpenSearch.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- EVM Finanse. Ujednolicony interfejs dla zdecentralizowanych finansów. Dostęp tutaj.
- Quantum Media Group. Wzmocnienie IR/PR. Dostęp tutaj.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/big-data/improved-resiliency-with-backpressure-and-admission-control-for-amazon-opensearch-service/
- :Jest
- 1
- 1.3
- 100
- 26
- 7
- 77
- a
- O nas
- aktywny
- dodatek
- przed
- Wszystkie kategorie
- przydziały
- również
- zawsze
- amator
- Amazonka
- Amazon Web Services
- an
- i
- api
- SĄ
- AS
- At
- autonomiczny
- systemy autonomiczne
- dostępny
- średni
- uniknąć
- AWS
- tło
- barista
- na podstawie
- jest
- Poza
- obie
- Budowanie
- wybudowany
- ale
- by
- CAN
- Pojemność
- Spowodować
- Chmura
- Grupa
- kod
- kompleks
- Konsola
- przyczynić się
- współpracownik
- kontrola
- kontrolowania
- Koordynator
- odpowiada
- mógłby
- CPU
- Aktualny
- dane
- Utrata danych
- rozwijać
- szczegółowe
- oprogramowania
- dystrybuowane
- systemy rozproszone
- robi
- z powodu
- każdy
- łatwy w użyciu
- Efektywne
- bądź
- inżynier
- Poprawia
- błąd
- Błędy
- Eter (ETH)
- przykład
- prace
- podniecony
- wykładniczy
- Czynniki
- FAIL
- Brak
- obserwuj
- następujący
- W razie zamówieenia projektu
- Framework
- od
- dalej
- odźwierni
- otrzymać
- Przewodniki
- he
- Zdrowie
- ciężki
- pomoc
- Wysoki
- wyższy
- jego
- Odsłon
- Strona główna
- HOT
- http
- HTTPS
- pomysły
- zidentyfikować
- if
- ilustruje
- Rezultat
- podnieść
- ulepszony
- ulepszenia
- poprawy
- in
- Przybywający
- Zwiększenia
- wskaźnik
- wskazuje
- zainteresowany
- przedstawiać
- wprowadzono
- IT
- JEGO
- jpg
- duży
- na dużą skalę
- Nazwisko
- Ostatni rok
- prowadzący
- lubić
- LIMIT
- Limity
- załadować
- poszukuje
- od
- WYKONUJE
- zarządzane
- wiele
- środków
- mechanizm
- Pamięć
- Metryka
- monitor
- monitory
- jeszcze
- węzeł
- węzły
- już dziś
- numer
- of
- on
- tylko
- koncepcja
- open source
- działać
- or
- zamówienie
- organiczny
- Inne
- Inaczej
- na zewnątrz
- zewnętrzne
- ogólny
- przytłoczony
- namiętny
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- faza
- plato
- Analiza danych Platona
- PlatoDane
- gracz
- nacisk
- zapobiec
- zapobiega
- Główny
- Proaktywne
- problemy
- zapewnia
- zapytania
- szybko
- Kurs
- Czytaj
- powód
- otrzymać
- polecić
- Recover
- zażądać
- wywołań
- Zasób
- zasobochłonne
- Zasoby
- Efekt
- powrót
- powraca
- ryzyko
- Walcowanie
- Skala
- wynik
- Szukaj
- bezpieczne
- widzieć
- wysłać
- senior
- usługa
- Usługi
- budka
- Targi
- Prosty
- upraszczanie
- Rozmiar
- umiejętności
- powolny
- So
- Tworzenie
- rozwoju oprogramowania
- Rozwiązywanie
- kilka
- Źródło
- kolec
- kolce
- Stabilność
- rozpoczęty
- Stan
- statystyki
- Rynek
- taki
- PODSUMOWANIE
- system
- systemy
- Tandem
- Zadanie
- że
- Połączenia
- ich
- Te
- czas
- do
- także
- Top
- Kwota produktów:
- w kierunku
- Śledzenie
- ruch drogowy
- prawdziwy
- rodzaj
- dla
- na
- Stosowanie
- zastosowania
- za pomocą
- Zobacz i wysłuchaj
- była
- we
- sieć
- usługi internetowe
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- w
- Praca
- workflow
- pracujący
- by
- rok
- ty
- zefirnet