米CoreOSは、分散環境設定サーバの最新版「etcd v3.0.0」を、6月30日(現地時間)に公開した。
etcdは、各種サービスやスケジューラなどの設定を共有できる、オープンソースのキーバリュー型データストア。分散型なので、あるサーバが停止した場合でもアプリケーションは継続して動作する。また、CoreOSの中核を成すソフトウェアである。
CoreOSでは、ここ数ヶ月の間etcd3 APIのリリースに向けて開発を続けており、今回リリースされた「etcd v3.0.0」は、etcd3 APIおよびデータモデルの、最初の安定版となる。従来のetcd2と同一のJSONエンドポイントと内部クラスタプロトコルを使用しているため、簡単にアップグレードできる。
ネイティブクライアントとの通信は、gRPCプロトコルを通じて行っており、従来のetcd2におけるクライアントサイドでのJSONによるパースと比較して、メッセージ処理のパフォーマンスを2倍に向上した。また、JSONクライアントでは各リクエストごとに新たなコネクションを作成する必要があったが、gRPCではHTTP/2のコネクション多重化によって、コネクション処理性能を向上している。
また、etcd2ではキーの有効期限管理にTTL(time-to-live)を利用していたが、etcd3ではリース方式を採用した。リース方式では、キーにTTLが割り当てられており、リースのTTLが完了するとキーが削除されるため、キープアライブのためのトラフィックを削減でき、etcd2で問題となっていたキープアライブトラフィックの増大を防げる。
さらに、etcd3 APIなら接続の多重化が可能なので、従来は新たな接続の作成が必要だった監視を、単一の接続を多重化して同一のTCP接続で実行するため、メモリ使用量の削減を実現した。
このほか、キーのリビジョン管理における複数バージョン並行コントロールモデルの採用や、複数の処理の単一のミニトランザクションへの変換など、さまざまな変更が行われている。
【関連リンク】
・CoreOS(英語)
・「etcd v3.0.0」(英語)
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です