|
| 1 | +--- |
| 2 | +title: フィーチャーフラグ |
| 3 | +aliases: |
| 4 | + - feature_flags |
| 5 | + - services/feature-flag |
| 6 | + - services/featureflagservice |
| 7 | +cSpell:ignore: loadgenerator OLJCESPC7Z |
| 8 | +default_lang_commit: e3ae3a294873ef7febe106a618e650872f4d1796 |
| 9 | +--- |
| 10 | + |
| 11 | +デモは、異なるシナリオのシミュレートするために利用できるいくつかのフィーチャーフラグを提供しています。 |
| 12 | +これらのフラグは、[OpenFeature](https://openfeature.dev) をサポートするシンプルなフィーチャーフラグサービスの [`flagd`](https://flagd.dev) によって管理されます。 |
| 13 | + |
| 14 | +フラグの値は、デモを起動している際に、<http://localhost:8080/feature> で提供されるユーザーインターフェースを通じて変更できます。 |
| 15 | +このユーザーインターフェースを通じて値を変更すると、flagd サービスに反映されます。 |
| 16 | + |
| 17 | +There are two options when it comes to changing the feature flags through the user interface: |
| 18 | + |
| 19 | +- **Basic View**: A user friendly view in which default variants (the same |
| 20 | + options that need to be changed when configuring through the raw file) can be |
| 21 | + selected and saved for each feature flag. Currently, the basic view does not |
| 22 | + support fractional targeting. |
| 23 | + |
| 24 | +- **Advanced View**: A view in which the raw configuration JSON file is loaded |
| 25 | + and can be edited within the browser. The view provides the flexibility that |
| 26 | + comes with editing a raw JSON file, however it also provides schema checking |
| 27 | + to ensure that the JSON is valid and that the provided configuration values |
| 28 | + are correct. |
| 29 | + |
| 30 | +## Implemented feature flags |
| 31 | + |
| 32 | +| Feature Flag | Service(s) | Description | |
| 33 | +| ----------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------- | |
| 34 | +| `adServiceFailure` | Ad Service | Generate an error for `GetAds` 1/10th of the time | |
| 35 | +| `adServiceManualGc` | Ad Service | Trigger full manual garbage collections in the ad service | |
| 36 | +| `adServiceHighCpu` | Ad Service | Trigger high cpu load in the ad service. If you want to demo cpu throttling, set cpu resource limits | |
| 37 | +| `cartServiceFailure` | Cart Service | Generate an error whenever `EmptyCart` is called | |
| 38 | +| `productCatalogFailure` | Product Catalog | Generate an error for `GetProduct` requests with product ID: `OLJCESPC7Z` | |
| 39 | +| `recommendationServiceCacheFailure` | Recommendation | Create a memory leak due to an exponentially growing cache. 1.4x growth, 50% of requests trigger growth. | |
| 40 | +| `paymentServiceFailure` | Payment Service | Generate an error when calling the `charge` method. | |
| 41 | +| `paymentServiceUnreachable` | Checkout Service | Use a bad address when calling the PaymentService to make it seem like the PaymentService is unavailable. | |
| 42 | +| `loadgeneratorFloodHomepage` | Loadgenerator | Start flooding the homepage with a huge amount of requests, configurable by changing flagd JSON on state. | |
| 43 | +| `kafkaQueueProblems` | Kafka | Overloads Kafka queue while simultaneously introducing a consumer side delay leading to a lag spike. | |
| 44 | +| `imageSlowLoad` | Frontend | Utilizes envoy fault injection, produces a delay in loading of product images in the frontend. | |
| 45 | + |
| 46 | +## Feature Flag Architecture |
| 47 | + |
| 48 | +Please see the [flagd documentation](https://flagd.dev) for more information on |
| 49 | +how flagd works, and the [OpenFeature](https://openfeature.dev) website for more |
| 50 | +information on how OpenFeature works, along with documentation for the |
| 51 | +OpenFeature API. |
0 commit comments