Прапорці функцій

Демо надає кілька прапорців функцій, які ви можете використовувати для імітації різних сценаріїв. Ці прапорці керуються за допомогою flagd, простого сервісу прапорців функцій, який підтримує OpenFeature.

Значення прапорців можна змінювати через інтерфейс користувача, доступний за адресою http://localhost:8080/feature під час запуску демо. Зміни значень через цей інтерфейс будуть відображені в сервісі flagd.

Є два варіанти зміни прапорців функцій через інтерфейс користувача:

  • Основний вигляд: Зручний для користувача вигляд, у якому можна вибрати та зберегти стандартні варіанти (ті самі опції, які потрібно змінити при налаштуванні через сирий файл) для кожного функціонального прапорця. Наразі основний вигляд не підтримує фракційне таргетування.

  • Розширений вигляд: Вигляд, у якому завантажується сирий файл конфігурації JSON і може бути відредагований в оглядачі. Цей вигляд надає гнучкість, яка приходить з редагуванням сирого файлу JSON, але також забезпечує перевірку схеми, щоб гарантувати, що JSON є дійсним і що надані значення конфігурації є правильними.

Реалізовані прапорці функцій

Прапорець функціїСервіс(и)Опис
adServiceFailureAdГенерувати помилку для GetAds 1/10 разів
adServiceManualGcAdВикликати повне ручне збирання сміття в сервісі оголошень
adServiceHighCpuAdВикликати високе навантаження на процесор у сервісі оголошень. Якщо ви хочете продемонструвати обмеження процесора, встановіть обмеження ресурсів процесора
cartServiceFailureCartГенерувати помилку кожного разу, коли викликається EmptyCart
emailMemoryLeakEmailІмітувати витік памʼяті в сервісі email.
llmInaccurateResponseLLMСервіс імітації LLM повертає неточний огляд товару з ідентифікатором L9ECAV7KIM.
llmRateLimitErrorLLMСервіс імітації LLM періодично повертає RateLimitError із кодом статусу HTTP 429.
productCatalogFailureProduct CatalogГенерувати помилку для запитів GetProduct з ідентифікатором товару: OLJCESPC7Z
recommendationServiceCacheFailureRecommendationСтворити витік памʼяті через кеш, що зростає експоненційно. Зростання 1.4x, 50% запитів викликають зростання.
paymentServiceFailurePaymentГенерувати помилку при виклику методу charge.
paymentServiceUnreachableCheckoutВикористовувати неправильну адресу при виклику PaymentService, щоб зробити вигляд, що PaymentService недоступний.
loadgeneratorFloodHomepageLoad GeneratorПочати затоплення головної сторінки великою кількістю запитів, налаштовується шляхом зміни JSON flagd на стані.
kafkaQueueProblemsKafkaПеревантажує чергу Kafka, одночасно вводячи затримку на стороні споживача, що призводить до сплеску затримки.
imageSlowLoadFrontendВикористовує впорскування помилок envoy, викликає затримку у завантаженні зображень товарів на фронтенді.
failedReadinessProbeCartПримусово змушує перевірку готовності завершитися з неналежним статусом, імітуючи стан “NotReady” для пода. Застосовується лише для розгортань у Kubernetes.

Сценарій керованого налагодження

Сценарій recommendationServiceCacheFailure має спеціальний посібник, щоб допомогти зрозуміти, як ви можете усунути витоки памʼяті за допомогою OpenTelemetry.

Архітектура прапорців функцій

Будь ласка, перегляньте документацію flagd для отримання додаткової інформації про те, як працює flagd, а також вебсайт OpenFeature для отримання додаткової інформації про те, як працює OpenFeature, разом з документацією для API OpenFeature.


Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (091c99cf)