[linux-elitists] etcd: A highly-available key value store

Greg KH greg at kroah.com
Tue Aug 13 10:21:16 PDT 2013


On Tue, Aug 13, 2013 at 07:30:59AM -0700, Don Marti wrote:
> Making the rounds...
>   http://coreos.com/docs/etcd/
> 
>   "A highly-available key value store for shared
>   configuration and service discovery."
> 
> Another useful thing you could do with this is
> replicate Git.  The way Git is designed makes
> it easy to replicate (I disclosed this obvious
> fact just in case USPTO wants to apply its usual
> low standard of what's obvious and what's not:
> http://ip.com/IPCOM/000225058 ).  Instead of a complex
> replication scheme, you only need a highly-available
> key value store to keep branch references in sync.
> The testAndSet in etcd looks like what you need.

So, I asked Xiang Li, the main developer of etcd, about this yesterday
on irc, as I saw you had posted this idea elsewhere.  He said it really
wouldn't work, as the raft protocol is only for "small" amounts of data
per key (100kb).  This is due to the requirements of syncing the servers
together in a specific amount of time (in ms).

He did mention that it could possibly be extended to handle larger
amounts of data, if the sync time is relaxed, if someone wants to work
on making those changes to it.

OB Disclosure, I've known the CoreOS engineers/owners for 9+ years, and
am an advisor to their company.

> Also, it's in Go.  On that subject, bonus link:
>   http://blog.lusis.org/blog/2013/08/11/go-for-system-administrators/

I've played around a bit in Go, and am very impressed.  There are some
issues with libraries that seem easy for developers to mess up, but as
long as you don't rely on random github repos for a shipping product
(i.e. not copying them locally and using specific tags), you should be
fine.

greg k-h


More information about the linux-elitists mailing list