Skip to content

Implement load balacing of requests across chain. #5

@vrv

Description

@vrv

Taking a cue from CRAQ (http://www.usenix.org/event/usenix09/tech/full_papers/terrace/terrace.pdf), we should implement a form of query-anywhere chain replication in FAWN-KV to load balance keys across our chain replicas. When using a front-end, this can be simply done by keeping track of 'outstanding key updates' at the frontend: on a lookup, you check to see if the key is being updated, and if so, send the request to the tail. Otherwise the key is safe to be requested from any of the backends.

When not using a frontend, we would have to directly implement CRAQ: there's no frontend to keep track of pending updates in the chain and so it would require communication between the nodes in the chain.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions