BT

InfoQ ホームページ ニュース Consulによるサービスディスカバリ

Consulによるサービスディスカバリ

ブックマーク

原文(投稿日:2015/01/13)へのリンク

HashiCorpのConsulは,数千台のノードで分散稼働するように設計され,高い可用性と拡張性を備えた,サービスディスカバリとコンフィギュレーションのためのソリューションだ。

Consulはサービスディスカバリ,キー/バリューコンフィギュレーション,ヘルスチェックを目的とする。Zookeeperdoozerd,あるいはetcdなどと機能的には同じようだが,サービスディスカバリ用のDNSインターフェースを備えることで,既存のサービスやレガシサービスに対応すると同時に,gossipプロトコルを採用することで,スケーリングの面でも優れているという。他のツールとの違いは,完全な分散型アーキテクチャで監視サービスを提供していることだ。クエリサービスに中央サーバを使用するNagiosや,サービス通知の管理の中心としてブローカが必要なSensuは,いずれもスケーリングの問題を起こす可能性がある。

それらよりも現代的な,サービスディスカバリツールと比較しても違いがある。SkyDNSは,同じようなクエリ実行用のDNSインターフェースを備えているが,監視チェックにはハートビートとTTLを使用する。一方でConsulは,カスタムチェックを定義可能であるのに加えて,最初から複数のデータセンタをサポートしている。Airbnbが開始したプロジェクトのSmartStackは,ZookeeperとHAProxy,そしてAirbubの2つのオープンソースプロジェクトSynapseNerveとで構成された,サービスディスカバリと登録を行うことを目的とするフレームワークである。Consulはgossipプロトコルを採用する唯一のツールだ。gossipプロトコルはスケーラビリティに優れ,クラスタノードの完全な動的追跡が可能だとされている。他のソフトウェアとの比較資料には,これまで述べたもの以外にも,同様なシナリオで一般的に使用されるツールとの違いが,さらに詳細に説明されている。

Consulのクラスタは複数のクライアントと複数のサーバで構成される。大きな特徴は,データが後者のみにストアされること,そして自動ディスカバリを使用していることだ。読み込みと書き込みは,クラスタの任意のメンバに対して行うことができる。サービスの登録は,コンフィギュレーションファイルを使用するか,あるいはクラスタ内の任意のエージェント(クライアントまたはサーバ)に対してHTTP API経由で行う。登録されたサービスとノードは,HTTPインターフェースあるいはDNSインターフェースのどちらを使っても問い合わせることができる。これにより,既存のサービスを改造することなく,簡単に利用可能になる。

gossipプロトコルは,Hashicorpの別のプロジェクトであるSerfライブラリで,メンバシップ管理とクラスタへのブロードキャストメッセージに使用されていたもので,コーネル大学のコンピュータサイエンス学部によって発表された論文,“SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol”に基づくプロトコルである。

Ben Schwartz氏が述べているように,ConsulはPuppetでプロビジョニングすることができる。氏が提供しているvagrantボックスを使ったサンプルでは,Consulの設定にPuppetモジュールを,ConsulのDNSルックアップを.consulで終わるConsulエージェントにルートするためにPuppet Dnsmasqモジュールを使った,Spring Bootデモプログラムの利用方法が示されている。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

RESTlessnessに打ち勝つ

Matt McLarty 2019年3月13日 午前7時39分

.NET CLIクイックツアー

Jeremy Miller 2019年2月18日 午前1時55分

.NET CoreとDevOps

Dave Swersky 2019年2月6日 午後11時46分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。