Служба Amazon OpenSearch це керований сервіс, який спрощує захист, розгортання та керування кластерами OpenSearch у масштабі AWS Cloud. Минулого року ми представили Протитиск індексації фрагментів та пропускний контроль, який відстежує ресурси кластера та вхідний трафік, щоб вибірково відхиляти запити, які в іншому випадку створили б ризики для стабільності, як-от нестача пам’яті та вплинули на продуктивність кластера через суперечки щодо пам’яті, насичення процесора та витрати GC тощо.
Тепер ми раді представити Search Backpressure і контроль доступу на основі процесора для OpenSearch Service, який додатково підвищує стійкість кластерів. Ці вдосконалення доступні для всіх версій OpenSearch 1.3 або вище.
Пошук Протитиск
Протитиск запобігає перевантаженню системи роботою. Це робиться шляхом контролю швидкості трафіку або скидання надмірного навантаження, щоб запобігти збоям і втраті даних, підвищити продуктивність і уникнути повного збою системи.
Search Backpressure — це механізм ідентифікації та скасування ресурсомістких пошукових запитів під час польоту, коли вузол знаходиться під тиском. Він ефективний проти навантажень пошуку з аномально високим використанням ресурсів (таких як складні запити, повільні запити, багато звернень або важкі агрегації), які інакше можуть спричинити збої вузлів і вплинути на працездатність кластера.
Search Backpressure побудовано на основі системи відстеження ресурсів завдань, яка забезпечує простий у використанні API для моніторингу використання ресурсів кожним завданням. Search Backpressure використовує фоновий потік, який періодично вимірює використання ресурсів вузла та призначає оцінку скасування кожному завданню пошуку під час роботи на основі таких факторів, як час ЦП, розподіл купи та час, що минув. Вищий бал скасування відповідає більш ресурсомісткому пошуковому запиту. Запити на пошук скасовуються в порядку зменшення їх оцінки скасування, щоб швидко відновити вузли, але кількість скасувань обмежена частотою, щоб уникнути марної роботи.
Наступна діаграма ілюструє робочий процес Search Backpressure.
Після скасування пошукові запити повертають код статусу HTTP 429 «Забагато запитів». OpenSearch повертає часткові результати, якщо лише деякі шарди не вдаються, а часткові результати дозволені. Перегляньте наступний код:
Моніторинг протитиску пошуку
Ви можете відстежувати детальний стан Search Backpressure за допомогою API статистики вузла:
Ви також можете переглянути загальнокластерний підсумок скасувань за допомогою Amazon CloudWatch. Наступні показники тепер доступні в ES/OpenSearchService простір імен:
- SearchTaskCancelled – Кількість скасувань вузла координатора
- SearchHardTaskCancelled – Кількість скасувань вузла даних
На наступному знімку екрана показано приклад відстеження цих показників на консолі CloudWatch.
Контроль допуску на основі ЦП
Контроль доступу — це механізм контролю доступу, який проактивно обмежує кількість запитів до вузла на основі його поточної потужності, як для органічного збільшення, так і для стрибків трафіку.
На додаток до обсягу пам’яті JVM і порогових значень розміру запиту, тепер він також відстежує ковзне середнє використання ЦП кожного вузла, щоб відхиляти вхідні _search
та _bulk
запити. Це запобігає перевантаженню вузлів занадто великою кількістю запитів, що призводить до гарячих точок, проблем з продуктивністю, тайм-аутів запитів та інших каскадних збоїв. Надмірна кількість запитів після відхилення повертає код статусу HTTP 429 «Забагато запитів».
Обробка помилок HTTP 429
Ви отримаєте повідомлення про помилку HTTP 429, якщо надсилатимете надмірний трафік до вузла. Це вказує на недостатню кількість ресурсів кластера, ресурсомісткі пошукові запити або ненавмисне підвищення робочого навантаження.
Search Backpressure визначає причину відхилення, що може допомогти точніше налаштувати ресурсомісткі пошукові запити. У разі стрибків трафіку ми рекомендуємо повторні спроби на стороні клієнта з експоненціальним затримкою та тремтінням.
Ви також можете скористатися цими посібниками з усунення несправностей, щоб усунути надмірні відхилення:
Висновок
Search Backpressure — це реактивний механізм для усунення надмірного навантаження, тоді як контроль доступу — це проактивний механізм для обмеження кількості запитів до вузла понад його пропускну здатність. Обидва працюють у тандемі, щоб покращити загальну стійкість кластера OpenSearch.
Пошук Backpressure доступний у OpenSearch, і ми завжди в пошуку зовнішні внески. Ви можете звернутися до RFC щоб розпочати роботу.
Про авторів
Кетан Верма є старшим SDE, який працює над Amazon OpenSearch Service. Він захоплений створенням великомасштабних розподілених систем, підвищенням продуктивності та спрощенням складних ідей за допомогою простих абстракцій. Поза роботою він любить читати та вдосконалювати навички домашнього бариста.
Суреш Н.С є старшим SDE, який працює над Amazon OpenSearch Service. Він захоплений вирішенням проблем у великих розподілених системах.
Пріткумар Ладані це SDE-2, що працює на Amazon OpenSearch Service. Він любить робити внесок у розробку програмного забезпечення з відкритим кодом і захоплюється розподіленими системами. Він любитель грати в бадмінтон і любить трекінг.
Бухтавар-хан є головним інженером, який працює над Amazon OpenSearch Service. Його цікавить побудова розподілених і автономних систем. Він супроводжує та активно бере участь у OpenSearch.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- EVM Фінанси. Уніфікований інтерфейс для децентралізованих фінансів. Доступ тут.
- Quantum Media Group. ІЧ/ПР посилений. Доступ тут.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- джерело: https://aws.amazon.com/blogs/big-data/improved-resiliency-with-backpressure-and-admission-control-for-amazon-opensearch-service/
- :є
- 1
- 1.3
- 100
- 26
- 7
- 77
- a
- МЕНЮ
- активний
- доповнення
- проти
- ВСІ
- асигнувань
- Також
- завжди
- аматорський
- Amazon
- Amazon Web Services
- an
- та
- API
- ЕСТЬ
- AS
- At
- автономний
- автономні системи
- доступний
- середній
- уникнути
- AWS
- фон
- Баріста
- заснований
- буття
- За
- обидва
- Створюємо
- побудований
- але
- by
- CAN
- потужність
- Викликати
- хмара
- кластер
- код
- комплекс
- Консоль
- сприяти
- вкладник
- контроль
- управління
- Координатор
- відповідає
- може
- центральний процесор
- Поточний
- дані
- втрати даних
- розгортання
- докладно
- розробка
- розподілений
- розподілені системи
- робить
- два
- кожен
- легкий у використанні
- Ефективний
- або
- інженер
- Підсилює
- помилка
- помилки
- Ефір (ETH)
- приклад
- перевищений
- збуджений
- експонентний
- фактори
- FAIL
- Провал
- стежити
- після
- для
- Рамки
- від
- далі
- воротарство
- отримати
- Гід
- he
- здоров'я
- важкий
- допомога
- Високий
- вище
- його
- число переглядів
- Головна
- ГАРЯЧА
- HTTP
- HTTPS
- ідеї
- ідентифікувати
- if
- ілюструє
- Impact
- удосконалювати
- поліпшений
- поліпшення
- поліпшення
- in
- Вхідний
- Збільшує
- індекс
- вказує
- зацікавлений
- вводити
- введені
- IT
- ЙОГО
- JPG
- великий
- масштабний
- останній
- Минулого року
- провідний
- як
- МЕЖА
- рамки
- загрузка
- шукати
- від
- РОБОТИ
- вдалося
- багато
- заходи
- механізм
- пам'ять
- Метрика
- монітор
- монітори
- більше
- вузол
- вузли
- зараз
- номер
- of
- on
- тільки
- відкрити
- з відкритим вихідним кодом
- працювати
- or
- порядок
- органічний
- Інше
- інакше
- з
- поза
- загальний
- перевантажені
- пристрасний
- продуктивність
- фаза
- plato
- Інформація про дані Платона
- PlatoData
- гравець
- тиск
- запобігати
- запобігає
- Головний
- Проактивний
- проблеми
- забезпечує
- запити
- швидко
- ставка
- Читати
- причина
- отримати
- рекомендувати
- Відновлювати
- запросити
- запитів
- ресурс
- ресурсомісткий
- ресурси
- результати
- повертати
- Умови повернення
- ризики
- рухомий
- шкала
- рахунок
- Пошук
- безпечний
- побачити
- послати
- старший
- обслуговування
- Послуги
- пролити
- Шоу
- простий
- спрощення
- Розмір
- навички
- сповільнювати
- So
- Софтвер
- розробка програмного забезпечення
- Розв’язування
- деякі
- Source
- шип
- шипи
- Стабільність
- почалася
- стан
- статистика
- Статус
- такі
- РЕЗЮМЕ
- система
- Systems
- Тандем
- Завдання
- Що
- Команда
- їх
- Ці
- час
- до
- занадто
- топ
- Усього:
- до
- Відстеження
- трафік
- правда
- тип
- при
- на
- Використання
- використовує
- використання
- вид
- було
- we
- Web
- веб-сервіси
- коли
- який
- в той час як
- з
- Work
- робочий
- робочий
- б
- рік
- ви
- зефірнет