Skip to content

Commit 41502c1

Browse files
committed
readme update
Signed-off-by: liran2000 <[email protected]>
1 parent 367147e commit 41502c1

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

tools/flagd-http-connector/README.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Introduction
44
Http 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).
77
Flag 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
1414
The 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
3133
The 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
3537
This 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
4648
sequenceDiagram
4749
box Cluster

0 commit comments

Comments
 (0)