BT

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

| 作者: Carlos Sanchez フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2015年2月1日. 推定読書時間: 3 分 |

原文(投稿日: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デモプログラムの利用方法が示されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

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

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

あなたの意見をお聞かせください。

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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT