You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: providers/flagd/README.md
+6-47Lines changed: 6 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,45 +54,6 @@ The value is updated with every (re)connection to the sync implementation.
54
54
This can be used to enrich evaluations with such data.
55
55
If the `in-process` mode is not used, and before the provider is ready, the `getSyncMetadata` returns an empty map.
56
56
57
-
#### Http Connector
58
-
HttpConnector is responsible for polling data from a specified URL at regular intervals.
59
-
It is leveraging Http cache mechanism with 'ETag' header, then when receiving 304 Not Modified response,
60
-
reducing traffic, reducing rate limits effects and changes updates. Can be enabled via useHttpCache option.
61
-
The implementation is using Java HttpClient.
62
-
63
-
##### Use cases and benefits
64
-
* Reduce infrastructure/devops work, without additional containers needed.
65
-
* Use as an additional provider for fallback / internal backup service via multi-provider.
66
-
67
-
##### What happens if the Http source is down when application is starting ?
68
-
69
-
It supports optional fail-safe initialization via cache, such that on initial fetch error following by
70
-
source downtime window, initial payload is taken from cache to avoid starting with default values until
71
-
the source is back up. Therefore, the cache ttl expected to be higher than the expected source
72
-
down-time to recover from during initialization.
73
-
74
-
##### Sample flow
75
-
Sample flow can use:
76
-
- Github as the flags payload source.
77
-
- Redis cache as a fail-safe initialization cache.
78
-
79
-
Sample flow of initialization during Github down-time window, showing that application can still use flags
80
-
values as fetched from cache.
81
-
```mermaid
82
-
sequenceDiagram
83
-
participant Provider
84
-
participant Github
85
-
participant Redis
86
-
87
-
break source downtime
88
-
Provider->>Github: initialize
89
-
Github->>Provider: failure
90
-
end
91
-
Provider->>Redis: fetch
92
-
Redis->>Provider: last payload
93
-
94
-
```
95
-
96
57
### Offline mode (File resolver)
97
58
98
59
In-process resolvers can also work in an offline mode.
@@ -113,17 +74,15 @@ This mode is useful for local development, tests and offline applications.
113
74
#### Custom Connector
114
75
115
76
You can include a custom connector as a configuration option to customize how the in-process resolver fetches flags.
116
-
The custom connector must implement the [QueueSource interface](https://github.com/open-feature/java-sdk-contrib/blob/main/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/QueueSource.java).
77
+
The custom connector must implement the [Connector interface](https://github.com/open-feature/java-sdk-contrib/blob/main/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/resolver/process/storage/connector/Connector.java).
0 commit comments