33## Introduction
44Http Connector is a tool for [ flagd] ( https://github.com/open-feature/flagd ) in-process resolver.
55
6- This mode performs flag evaluations locally (in-process).
6+ This mode performs flag evaluations locally (in-process).
77Flag configurations for evaluation are obtained via Http.
88
99## Http Connector functionality
@@ -14,18 +14,20 @@ reducing traffic, reducing rate limits effects and changes updates. Can be enabl
1414The implementation is using Java HttpClient.
1515
1616## Use cases and benefits
17- * Reduce infrastructure/devops work, without additional containers needed.
18- * Reduce latency, since the data is fetched in-process.
19- * Reduce external network traffic from the Http source even without a flagd separate container / proxy when
20- polling cache is used.
21- * Use as an additional provider for fallback / internal backup service via multi-provider.
17+ * flagd installation is not required, working independently.
18+ Minimizing infrastructure and DevOps overhead - no extra containers required.
19+ * Low latency by fetching data directly in-process.
20+ * Decreased external network traffic from the HTTP source, even without a standalone flagd container or proxy,
21+ when using polling cache.
22+ * Can serve as an additional provider for fallback or internal backup scenarios using a multi-provider setup.
2223
23- ### What happens if the Http source is down when application is starting ?
24+ ### What happens if the Http source is down during application startup ?
2425
25- It supports optional fail-safe initialization via cache, such that on initial fetch error following by
26- source downtime window, initial payload is taken from cache to avoid starting with default values until
27- the source is back up. Therefore, the cache ttl expected to be higher than the expected source
28- down-time to recover from during initialization.
26+ Http Connector supports optional fail-safe initialization using a cache.
27+ If the initial fetch fails due to source unavailability, it can load the initial payload from the cache instead of
28+ falling back to default values.
29+ This ensures smoother startup behavior until the source becomes available again. To be effective, the fallback cache’s
30+ TTL should be longer than the expected duration of the source downtime during initialization.
2931
3032### Polling cache
3133The polling cache is used to store the payload fetched from the URL.
@@ -35,13 +37,13 @@ URL, effectively acting as a flagd/proxy while all other services leverage the s
3537This approach optimizes resource usage by preventing redundant polling across services.
3638
3739### Sample flow demonstrating the architecture
38- Sample flow can use :
39- - Github as the flags payload source .
40- - Redis cache as a fail-safe initialization cache and as a polling cache.
40+ This example demonstrates an architectural flow using :
41+ - GitHub as the source for flag payload .
42+ - Redis serving as both the fail-safe initialization cache and the polling cache.
4143
42- Sample flow of initialization during Github down-time window, showing that application can still use flags
43- values as fetched from cache.
44- Multiple micro-services are using the same cache, and therefore only one of them is responsible for polling the URL.
44+ Example initialization flow during GitHub downtime,
45+ demonstrates how the application continues to access flag values from the cache even when GitHub is unavailable.
46+ In this setup, multiple microservices share the same cache, with only one service responsible for polling the source URL.
4547``` mermaid
4648sequenceDiagram
4749 box Cluster
0 commit comments