Прапорці функцій
Демо надає кілька прапорців функцій, які ви можете використовувати для імітації різних сценаріїв. Ці прапорці керуються за допомогою flagd, простого сервісу прапорців функцій, який підтримує OpenFeature.
Значення прапорців можна змінювати через інтерфейс користувача, доступний за адресою http://localhost:8080/feature під час запуску демо. Зміни значень через цей інтерфейс будуть відображені в сервісі flagd.
Є два варіанти зміни прапорців функцій через інтерфейс користувача:
Основний вигляд: Зручний для користувача вигляд, у якому можна вибрати та зберегти стандартні варіанти (ті самі опції, які потрібно змінити при налаштуванні через сирий файл) для кожного функціонального прапорця. Наразі основний вигляд не підтримує фракційне таргетування.
Розширений вигляд: Вигляд, у якому завантажується сирий файл конфігурації JSON і може бути відредагований в оглядачі. Цей вигляд надає гнучкість, яка приходить з редагуванням сирого файлу JSON, але також забезпечує перевірку схеми, щоб гарантувати, що JSON є дійсним і що надані значення конфігурації є правильними.
Реалізовані прапорці функцій
| Прапорець функції | Сервіс(и) | Опис |
|---|---|---|
adServiceFailure | Ad | Генерувати помилку для GetAds 1/10 разів |
adServiceManualGc | Ad | Викликати повне ручне збирання сміття в сервісі оголошень |
adServiceHighCpu | Ad | Викликати високе навантаження на процесор у сервісі оголошень. Якщо ви хочете продемонструвати обмеження процесора, встановіть обмеження ресурсів процесора |
cartServiceFailure | Cart | Генерувати помилку кожного разу, коли викликається EmptyCart |
emailMemoryLeak | Імітувати витік памʼяті в сервісі email. | |
llmInaccurateResponse | LLM | Сервіс імітації LLM повертає неточний огляд товару з ідентифікатором L9ECAV7KIM. |
llmRateLimitError | LLM | Сервіс імітації LLM періодично повертає RateLimitError із кодом статусу HTTP 429. |
productCatalogFailure | Product Catalog | Генерувати помилку для запитів GetProduct з ідентифікатором товару: OLJCESPC7Z |
recommendationServiceCacheFailure | Recommendation | Створити витік памʼяті через кеш, що зростає експоненційно. Зростання 1.4x, 50% запитів викликають зростання. |
paymentServiceFailure | Payment | Генерувати помилку при виклику методу charge. |
paymentServiceUnreachable | Checkout | Використовувати неправильну адресу при виклику PaymentService, щоб зробити вигляд, що PaymentService недоступний. |
loadgeneratorFloodHomepage | Load Generator | Почати затоплення головної сторінки великою кількістю запитів, налаштовується шляхом зміни JSON flagd на стані. |
kafkaQueueProblems | Kafka | Перевантажує чергу Kafka, одночасно вводячи затримку на стороні споживача, що призводить до сплеску затримки. |
imageSlowLoad | Frontend | Використовує впорскування помилок envoy, викликає затримку у завантаженні зображень товарів на фронтенді. |
failedReadinessProbe | Cart | Примусово змушує перевірку готовності завершитися з неналежним статусом, імітуючи стан “NotReady” для пода. Застосовується лише для розгортань у Kubernetes. |
Сценарій керованого налагодження
Сценарій recommendationServiceCacheFailure має спеціальний посібник, щоб допомогти зрозуміти, як ви можете усунути витоки памʼяті за допомогою OpenTelemetry.
Архітектура прапорців функцій
Будь ласка, перегляньте документацію flagd для отримання додаткової інформації про те, як працює flagd, а також вебсайт OpenFeature для отримання додаткової інформації про те, як працює OpenFeature, разом з документацією для API OpenFeature.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!