3

Marathon を使用して Mesos クラスター (1 つのマスターと 2 つのスレーブ) を稼働させています。Mesos/Marathon のコンテナーとして docker を使用しています。Marathon でクラスターとして起動される Karaf Docker があります。Karaf の Clustering Solution として Cellar of Fabric を使用する予定です。私の問題は

  1. 私は Marathon でランダムなポート マッピングを使用しているため、Hazel-cast の自動検出を機能させる方法がわかりませんでした。ランダムなスレーブ上のランダムな docker インスタンスを使用します。提案または解決策/アプローチ

  2. これは、セラーの代わりにヒューズファブリックを使用して簡単に実現できますか?私はこれについて完全に盲目です. Karaf についてフォローするためのリンク / インサイトを提供してください

前もって感謝します

4

2 に答える 2

5

箇条書き 2 に答えるには

fabric8 v2 は、Kubernetes や Docker などのクラウド テクノロジ上のアーキテクチャです。これにより、Fuse Fabric は、Java や OSGi に縛られるのではなく、将来のテクノロジー スタックにより適したものになります。

この変更の背景については、Rob Davies のブログ (英語) で詳しく説明しています。

したがって、docker ベースのモデルと、Mesos/Kubernetes などのクラウド インフラストラクチャを使用すると、クラスタリングなどを処理できます。また、アプリ (Docker イメージとして) をよりシンプルに保ちます。Karaf Cellar / Fuse Fabric v1 などを使用する必要はありません。アプリと同じ場所にある内部からクラスタリングを行います。kubernetesが外部からそれを行うのに対し、完全に分離されています。

そして#1のところで、kubernetesサービスは岩です。James Strachan は最近、開発者向けの kubernetes に関するブログ エントリを書きました。

kubernetes サービスを使用している場合は、OS 環境変数を使用するだけで、hazelcast クラスターの IP とポート番号を検索できます。

さて、これはちょっとしたとりとめのないものだったのかもしれません。ただし、kubernetes / fabric8 / docker などをすべて確認し、新しいプラットフォームを構築する場合は、Karaf Cellar や Fuse Fabric v1 などの Java クラスタリングを避けることをお勧めします。

于 2015-05-28T07:25:30.783 に答える
1

多くの場合、HAProxy と Marathon のサービス ポートを組み合わせて使用​​することで、クラスター全体の検出可能性に成功しています。https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.htmlを参照してください。

Marathon がなくても機能する DNS ベースのサービス検出用に mesos-dns を試すこともできます。http://mesosphere.github.io/mesos-dns/を参照してください。

于 2015-03-11T17:52:48.743 に答える