Прапорці функцій
Демо надає кілька прапорців функцій, які ви можете використовувати для імітації різних сценаріїв. Ці прапорці керуються за допомогою flagd, простого сервісу прапорців функцій, який підтримує OpenFeature.
Значення прапорців можна змінювати через інтерфейс користувача, доступний за адресою http://localhost:8080/feature під час запуску демо. Зміни значень через цей інтерфейс будуть відображені в сервісі flagd.
Є два варіанти зміни прапорців функцій через інтерфейс користувача:
Основний вигляд: Зручний для користувача вигляд, у якому можна вибрати та зберегти стандартні варіанти (ті самі опції, які потрібно змінити при налаштуванні через сирий файл) для кожного функціонального прапорця. Наразі основний вигляд не підтримує фракційне таргетування.
Розширений вигляд: Вигляд, у якому завантажується сирий файл конфігурації JSON і може бути відредагований в оглядачі. Цей вигляд надає гнучкість, яка приходить з редагуванням сирого файлу JSON, але також забезпечує перевірку схеми, щоб гарантувати, що JSON є дійсним і що надані значення конфігурації є правильними.
Реалізовані прапорці функцій
| Прапорець функції | Сервіс(и) | Опис |
|---|---|---|
adFailure | Ad | Генерувати помилку для GetAds 1/10 разів |
adHighCpu | Ad | Викликати високе навантаження на процесор у сервісі оголошень. Якщо ви хочете продемонструвати обмеження процесора, встановіть обмеження ресурсів процесора |
adManualGc | Ad | Викликати повне ручне збирання сміття в сервісі оголошень |
aiRunawayAgent | Agent | Підштовхує агента продовжувати викликати інструменти замість завершення, імітуючи агента, що вийшов з-під контролю або зациклився |
aiSlowResponse | Agent | Затримує виклик моделі LLM агента, імітуючи деградацію затримки провайдера LLM |
cartFailure | Cart | Надсилати вибраний відсоток викликів EmptyCart до сховища кошика, що виходить з ладу |
emailMemoryLeak | Імітувати витік памʼяті в сервісі email. Варіант визначає, наскільки розширюється тіло кожного листа з підтвердженням. | |
failedReadinessProbe | Cart | Примусово змушує перевірку готовності завершитися з неналежним статусом, імітуючи стан “NotReady” для пода. Застосовується лише для розгортань у Kubernetes. |
imageSlowLoad | Frontend | Використовує виконання інʼєкцій помилок envoy, викликає затримку у завантаженні зображень товарів на фронтенді. Варіант визначає затримку. |
intlShippingSlowdown | Shipping | Затримує запити на доставку за межами США на вибрану кількість секунд, імітуючи затримку міжнародної доставки. Адреси в США не зачіпаються. |
kafkaConsumerDead | Fraud Detection | Сервіс fraud-detection залишає групу споживачів замовлень (скасовує підписку та припиняє опитування). Checkout продовжує створювати повідомлення, тому група споживачів спорожнюється, а відставання накопичується. Оборотно шляхом перемикання прапорця. |
kafkaQueueProblems | Checkout, Fraud Detection | Обмежує пропускну здатність споживача fraud-detection, призупиняючи його на N мс на кожен запис. Споживач вичерпується повільніше, ніж записує виробник, через що відставання зростає. Налаштовуйте затримку на кожен запис наживо через прапорець. |
loadGeneratorTraffic | Load Generator | Вмикає синтетичний трафік від генератора навантаження. Вимкніть його, щоб призупинити всі сценарії генератора навантаження. |
loadGeneratorVUs | Load Generator | Кількість одночасних віртуальних користувачів, що приводять у дію HTTP-сценарій генератора навантаження. Зміна цього значення перезапускає k6 під час наступного опитування. |
paymentFailure | Payment | Генерувати помилку для вибраного відсотка викликів charge. |
paymentUnreachable | Checkout | Використовувати неправильну адресу при виклику сервісу Payment, щоб зробити вигляд, що сервіс Payment недоступний. |
productCatalogFailure | Product Catalog | Генерувати помилку для запитів GetProduct з ідентифікатором товару: OLJCESPC7Z |
productCatalogLockContention | Product Catalog | Імітує конкуренцію за блокування бази даних, утримуючи блокування ACCESS EXCLUSIVE на таблиці catalog.products, що блокує інші запити до каталогу товарів. |
recommendationCacheFailure | Recommendation | Створити витік памʼяті через кеш, що зростає експоненційно. Приблизно половина запитів викликають зростання. |
Сценарій керованого налагодження
Сценарій recommendationCacheFailure має спеціальний посібник, щоб допомогти зрозуміти, як ви можете усунути витоки памʼяті за допомогою OpenTelemetry.
Архітектура прапорців функцій
Будь ласка, перегляньте документацію flagd для отримання додаткової інформації про те, як працює flagd, а також вебсайт OpenFeature для отримання додаткової інформації про те, як працює OpenFeature, разом з документацією для API OpenFeature.
Зворотний зв’язок
Чи була ця сторінка корисною?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!