jamf / regatta

Regatta is a distributed key-value store. It is Kubernetes friendly with emphasis on high read throughput and low operational cost.

Home Page:https://engineering.jamf.com/regatta

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reverse replication II: read-after-write guarantee

jsfpdn opened this issue · comments

This feature request directly follows up on #112.

Is your feature request related to a problem? Please describe.

Writing to edge locations is only eventually consistent. Therefore, once the application issues a write request to the follower cluster and follower responds with OK, application will (probably) not to see the changes reflected in the follower immediately, since the changes have not propagated via the replication mechanism from the leader to the follower. In some cases, this may not be OK.

Describe the solution you'd like

Instead, when issuing a write, application should be able to request a read-after-write guarantee. When follower accepts such a request, it will block the application until the proxied request to the leader is replicated back to the follower and the changes are applied.