Resiliency with FeatureBoard
FeatureBoard will hydrate it’s in-memory state store via REST API calls - as such in the event of some manner of outage, steps must be taken to increase the resiliency of any consuming application. This can be achieved by using the External State Store.
Flow
The FeatureBoard SDK will attempt to connect to the FeatureBoard Service 5 times. If this limit is hit it will then fail-over and fetch Features and its Audience Exceptions from the External State Store. This is true of both polling and per-request update strategies.
Architecture
It is important to understand that with a fleet of Web Applications interacting with an External State Store, the FeatureBoard SDK will preference values that are “written last”. As such, please select a location for your External State store that can handle synchronous writes without blocking. Examples include:
- A RDBMS (e.g. Azure SQL Server, MySQL)
- A Cloud Storage Service (e.g. Azure Blob Storage, AWS S3)
- In-Memory distributed state storage (e.g. REDIS)
How to configure the External State Store for SDKs
See: - Getting Started with SDKs