Replies: 1 comment 1 reply
-
|
Here are my inexperienced thoughts:
I am also assuming the ideal scenario would be to only send the new flags to the client-side SDKs and then client side, their evaluated flagset would be merged with these new flags. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Context
Right now we're using ETags which is used by the server to determine whether or not to send back content. It's essentially a hash that's generated from an evaluated flagset. Essentially on the initial request, the client sends an empty ETag in the request header when retrieving the initial evaluated flagset. The server responds back with an ETag in the response header, that represents the current state of the evaluated flagset. On every subsequent request from the client to the server, the client uses the ETag provided by the server on the previous request.
Problem
Although this mechanism provides some sort of caching in a stateless manner, it's not very efficient. Everytime the hash sent from the client does not match the one on the server, we resent the entire flagset and start the dance all over again. We want to design a contract that will allow us to only send back the delta (i.e. changed flags) in a flagset. On the client, the delta will be merged with the client's existing flagset.
Beta Was this translation helpful? Give feedback.
All reactions