To prove out the design of the v3 API the team has also built , there is a video discussing these recipes too.

    Design

    1. Flatten binary key-value space

    2. Keep the event history until compaction

      • access to old version of keys
      • user controlled history compaction
      • Pagination support with limit argument
      • Support consistency guarantee across multiple range queries
    3. Replace TTL key with Lease

      • more efficient/ low cost keep alive
    4. Replace CAS/CAD with multi-object Txn

      • MUCH MORE powerful and flexible
    5. Support efficient watching with multiple ranges

      • more efficient than JSON/HTTP
      • additional txn/lease support
    6. HTTP API supports a subset of APIs.

      • easy for people to try out etcd
      • easy for people to write simple etcd application

    The max request size is around 1MB. Since etcd replicates requests in a streaming fashion, a very large request might block other requests for a long time. The use case for etcd is to store small configuration values, so we prevent user from submitting large requests. This also applies to Txn requests. We might loosen the size in the future a little bit or make it configurable.

    Put a key (foo=bar)

    Range over a key space (assume we have foo0=bar0… foo100=bar100)

    Watch on a key/range


    Docs in this section