2016-06-28 12 views
0

私は、ネットワークの負荷に応じて動的にクラスタを構築するためにメソスを使用しようとしています。どこでメゾでサービスを見つけることができますか

mesosによってデプロイされたアプリケーションを見つけるためにサービス検出メカニズムが必要です。

いくつかのツールがありますが、詳細についてさらに知りたいと思います。 mesosには、現在のサービスとそのエンドポイント(ip:port)を見つけるために、&をリストアップできるapiがありますか?または、私はそれが他の人に聴いているアドレスを伝えるために、あるデータベース(sql、zookeeper)に情報をプッシュするアプリを書く必要がありますか?

メゾスには「DiscoveryInfo」メッセージがあります。これを使用してサービスの検出を行うことはできますか?

答えて

1

メゾスには「DiscoveryInfo」というメッセージがあります。これを使用してサービスの検出を行うことはできますか?

間違いなく。タスクipおよびportに関する情報は、/master/stateから取得できます。たとえばMesos DNSmesos-consulはそのように動作し、タスクに関する情報とレジストリの更新については、Mesosをプールします。 あなたがマラソンを使用している場合は、どのようにこの作品が行うマラソンAPI

DisocveryInfo Design Doc

+0

の上に座っているツールを使用することができますか?各タスクはそのステータス[ip:port]をマスターに報告し、mesosマスターは一緒に情報を収集します。 Mesos DNSのようなツール、mesos-consulはこれらの情報についてポーリングマスターを維持しますか? – Jerrylk

+0

フレームワークがCPUやMEMなどのリソースよりも上のオファーを受け入れると、特定のタスクを実行するために必要なポートを宣言します。これはメゾスがIPとポートについて知っている方法です(SDNを使用する場合はCalicoなど)。その後、この情報を得る唯一の方法は、Mesosイベントがまだ実装されていないため、マスターから取り出すことです。 – janisz

+0

ありがとうございます。もう1つの質問は、DiscoveryInfoがTaskInfoまたはExecutorInfoの一部として送信され、スケジューラはタスクが成功するかどうか、実行中にサービスが開始または失敗しなかった場合、 discoveryinfo、またはdiscoverInfoを収集するツールは、実行されていないタスクの情報を無視する必要がありますか? – Jerrylk

関連する問題