Skip to content
This repository was archived by the owner on Dec 6, 2022. It is now read-only.
This repository was archived by the owner on Dec 6, 2022. It is now read-only.

Proposal: Replication RPC #1

@mikeal

Description

@mikeal

This is a proposal to separate some of the concerns in replication and give a new path towards building more replicators for IPLD.

Currently, we are proposing dueling specifications for a new replicator. ipld/specs#78 ipld/specs#66 ipld/specs#75. Each specification contains requirements or implications for transport changes, new APIs, new graph traversal logic, and in some cases new storage level changes or at the very least addition indexes on existing storage.

Instead, I'd like to break this problem into more re-usable parts that we can implement incrementally.

Proposal

  1. Define simple requirements for an RPC system.
    • This should only lay out our requirements, not an entire implementation. People should be able to take existing RPC systems that meet these requirements and implement the interfaces we specify.
  2. Using the language defined above we propose specific RPC interfaces for improving replication.
    • Examples:

This would allow us then build and iterate on replication logic much faster using a combination of new and old interfaces as well as any enhancements we might be able to make on top of different storage engines or even by layering on entirely new transports and discovery schemes.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions