-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
Status
[2017-06-22] Work In Progress
Problem
- A Client
csends a requestr0for a service offered byNdifferent Servers - Server
shandlesr0but network betweencandsbecomes unavailable beforesis able to send the result of the request back toc. cwants to know ifr0was completed or not bysand decide whether retry (in caser0failed) with another Serveryor get the result in case of success.
Proposal
swrites to the DHT (using put feature) the resultp(success/payload or error) ofr0. The hash of the request-idridis used as identifiercwaits untilr0times out and searches the DHT (using get feature) forrid- Case A:
cis able to retrievep. Ifrwas successful thencdoes nothing. Ifrwas unsuccessfulcthen may decide to resubmit - Case B:
cis NOT able to retrievep. Eitherscrashed before being able to writepto the DHT or also DHT reachability forsis compromised.cnotifies the application to manually inspectrand its result. smay crypto-signpto prove the authenticity
Advantages
- Use DHT storage as an asynchronous, fault tolerant and redundant system.
Notes
- Creating grenache services for ACK storage works too but it's transport-implementation specific
Metadata
Metadata
Assignees
Labels
No labels