12

私は Service Discovery とクラスター化されたシステムにまったく慣れていません。Docker コンテナーのデプロイメントのために Mesos と Marathon を試し始めました。Marathon REST API と UI はうまく機能しているようです。

私の問題は、デプロイされたサービスの実際の発見です。テストの目的で、MongoDB テストクラスターで行ったように、Marathon を介して 3 つのインスタンスにスケーリングされた Kafka クラスターをデプロイしました。Mesos-DNS クライアントは、ホストからコンテナーに動的にマップされたポートを意味するkafka.marathon.mesosandのようなレコードを提供します。mongo.marathon.mesos問題は、クライアントがターゲット ポートに関する情報を明示的に必要とすることです。これらのポート情報をサービスから自動的かつ動的に取得する一般的な方法はありますか? 複数のポートを公開しているアプリはどうですか?

これまでの私の考え: - REST 呼び出しを実行して、デプロイされたアプリに関するステータスを取得し、何らかの方法で関連データを抽出する - DNS SRV ルックアップを実行し、何らかの方法で関連データを抽出する - ポートに静的にバインドされたある種の「マスター」を持つ、動的な「クライアント」を使用します。

私はそれらの情報をたくさん検索しましたが、最終的にほとんどのチュートリアルは、私が目指しているものではない手動の検索で終わりました.

4

1 に答える 1

2

あなたはスポットです。私は最近XebiCon でこのトピックに関するプレゼンテーションを行いました。セットアップを含む詳細についてブログ投稿を公開する予定です。GitHub リポジトリ。手始めに、HTTP API 消費部分のPython 実装を見ることができます。

更新: ブログ投稿は、こちらから入手できるようになりました。

于 2015-06-18T15:24:31.190 に答える