etcd
概要
etcd (etc distributed) は Raft に基づいた分散トランザクションを実装した分散 Key-Value ストア。コンテナ仮想化に特化した軽量 Linux ディストリビューションである CoreOS においてコンテナ間で設定を共有するために実装されたが、移植性の高い golang で実装されているため現在では様々な OS に移植されている。
etcd
はローカルの KVS を管理し別のノードとの同期を行う。etcdctl
を使って etcd
にアクセスする。
セットアップ
OS X からは brew
でインストールすることができる。
$ brew install etcd
==> Downloading https://homebrew.bintray.com/bottles/etcd-3.3.12.mojave.bottle.tar.gz
Already downloaded: /Users/torao/Library/Caches/Homebrew/downloads/22504bc6b786c38671e0b2f049f25d1d899d02b52ef86c1d933d3ded20da4a66--etcd-3.3.12.mojave.bottle.tar.gz
==> Pouring etcd-3.3.12.mojave.bottle.tar.gz
==> Caveats
To have launchd start etcd now and restart at login:
brew services start etcd
Or, if you don't want/need a background service you can just run:
etcd
==> Summary
🍺 /usr/local/Cellar/etcd/3.3.12: 9 files, 51.6MB
$ etcd --version
etcd Version: 3.3.12
Git SHA: GitNotFound
Go Version: go1.11.5
Go OS/Arch: darwin/amd64
Java クライアント
etcd クラスタには etcdctl
相当の公式 Java クライアントを使って接続することもできる。