フィーチャーフラグ
デモは、異なるシナリオのシミュレートするために利用可能ないくつかのフィーチャーフラグを提供しています。
これらのフラグは、OpenFeature をサポートするシンプルなフィーチャーフラグサービスの flagd によって管理されます。
フラグの値は、デモを起動している際に、http://localhost:8080/feature で提供されるユーザーインターフェイスを通じて変更できます。 このユーザーインターフェイスを通じて値を変更すると、flagd サービスに反映されます。
ユーザーフラグを通じたフィーチャーフラグの変更する場合、2 つのオプションがあります。
- ベーシックビュー: 各フィーチャーフラグに対して、デフォルトのバリエーション(生のファイルで構成するときに変更する必要がある同じオプション)を選択して保存できるユーザーフレンドリーなビュー。 現在、ベーシックビューは部分ターゲティングはサポートされていません。
- アドバンスドビュー: 読み込んでブラウザで編集可能な生の JSON 設定ファイルのビュー。 このビューは生の JSON ファイルを編集できるという柔軟性を提供しますが、JSON が有効であり、入力された設定値が正しいかを保証するスキーマチェックも提供します。
実装済みフィーチャーフラグ
| フィーチャーフラグ | サービス | 説明 |
|---|---|---|
adFailure | 広告 | 10分の1の確率で GetAds のエラーを生成します |
adHighCpu | 広告 | 広告サービスで CPU を高負荷にします。 CPU スロットリングをデモしたい場合は、CPU リソース制限を設定します |
adManualGc | 広告 | 広告サービスで完全手動のガベージコレクションを引き起こします |
aiRunawayAgent | エージェント | エージェントが終了せずツールを呼び出し続けるように仕向け、暴走やループするエージェントをシミュレートします。 |
aiSlowResponse | エージェント | エージェントの LLM モデル呼び出しを遅延させ、LLM プロバイダーのレイテンシー劣化をシミュレートします。 |
cartFailure | カート | 選択された割合の EmptyCart 呼び出しを、障害が発生するカートストアに送信します |
emailMemoryLeak | Eメール | email サービスでメモリリークをシミュレートします。 バリアントは、各確認メール本文がどの程度パディングされるかを設定します |
failedReadinessProbe | カート | レディネスプローブを失敗させ、ステータスを異常にし、Pod の “NotReady” 状態を再現します。 Kubernetes デプロイメントにのみ適用されます。 |
imageSlowLoad | フロントエンド | Envoy フォールトインジェクションを利用し、フロントエンドでの製品画像の読み込みに遅延を発生させます。 バリアントは遅延時間を設定します。 |
intlShippingSlowdown | 配送 | 米国外の配送リクエストを選択された秒数だけ遅延させ、海外配送の遅延をシミュレートします。 米国内の住所は影響を受けません。 |
kafkaQueueProblems | チェックアウト、不正検知 | Kafka キューに過負荷がかかり、同時にコンシューマー側の遅延も発生し、ラグの急増を引き起こします |
loadGeneratorTraffic | 負荷生成ツール | 負荷生成ツールからの合成トラフィックを有効にします。 オフにすると、すべての負荷生成シナリオが一時停止します。 |
loadGeneratorVUs | 負荷生成ツール | 負荷生成ツールの HTTP シナリオを実行する同時仮想ユーザー数です。 変更すると、次回のポーリング時に k6 が再起動されます。 |
paymentFailure | 支払い | 選択された割合の charge 呼び出しに対してエラーを生成します |
paymentUnreachable | チェックアウト | 支払いサービスを呼び出すときに支払いサービスが利用できないように見せるために、不正アドレスを使用します |
productCatalogFailure | 商品カタログ | 商品 ID: OLJCESPC7Z の GetProduct リクエストに対してエラーを生成します |
recommendationCacheFailure | レコメンデーション | 指数関数的に増大するキャッシュによりメモリリークが発生します。 リクエストのおよそ半数がその増加を引き起こします |
ガイド付きデバッグシナリオ
recommendationCacheFailure シナリオには、OpenTelemetry を使用してメモリリークをデバッグする方法を理解するのに役立つ専用のウォークスルードキュメントがあります。
フィーチャーフラグアーキテクチャ
flagd の動作の詳細については flagd documentation を、OpenFeature の動作の詳細については OpenFeature と OpenFeature API を参照してください。
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!