1

私はnetflixクラウドスタックを持つスプリングブートアプリケーションを開発しています。各モジュール(マイクロサービス)を別々のドッカーコンテナに配置することです。 - ユーザー管理と認証 springboot cloud netflixをマルチホストネットワーク上の本番環境に展開するには、これが正しい方法ですか?

  • ELK - ログメンテナンス
  • ため

    1. ユーレカMicroservices
    2. MySQLの
    3. Angular4 UI
    4. Keycloakで
    5. Zuul
    6. ビジネスロジックを次のように構造があります
    7. ヒステリシス
    8. Zipkin

    多くの問題に直面し、私は方法を以下に展開している問題でグーグルにネットワーク帯域幅の全体の多くを過ごした後のでわかりました、それはそれを行うには正しい方法であれば、私が知っている必要がありますすることは、ありますか?

    ここでの制限は、この構成をテストするために2つのホストが用意されており、さらにアクションプランがまだ存在しないことです。

    ここに私が行ったことがあります:私はまだ言及した完全なスタックを使用していません。

    サーバ1

    1. ユーレカ

    2. Zuul

    3. ELK

    サーバー2

    1. Keycloak

    2. ビジネスロジックmicroservices

    3. MySQLの

    Anguar4 UIが構成され、まだHystrixとZipkinを使用していません。 私はEurekaに登録する必要があるすべてのマイクロサービスのEureka設定でServer1のIP:PORTを与えました。 Zuulも同様です(IP:Pure of Eureka)。

    Angular4 UIでは、すべてのサービスがZuulを通じて呼び出されるため、Zuul展開のURL:PORTを指定しました。

    サービスはユーレカの所在地を知る必要があり、残りはユーレカを通じて管理できるため、これは間違いありません。

    私の重要な質問は、MySQL、ELKはユーレカに登録できないため、必要に応じてMySQLとELKのIP:PORTを与えるのは正しいですか?

    同じことがELKの設定になります。私の必要条件は、すべてのログがこれのために共通の場所に配置されていることです。ドッカー、ボリュームマウントを使用しましたが、マルチホスト環境でこれを達成する方法はわかりません私は外部ボリューム上にログを置くことしかできません。おそらくURL経由でELKでアクセスでき、まだこの設定をテストしていません。

    もしそうなら、この設定はそうではありません。私たち自身がそれを管理できると思うのですか?

    私は "network_mode"を使用するように私のドッカーを構成しました:ホストはホストドッカーとの通信を行うことができます。

    もう一度、私の設定/アーキテクチャはマルチホスト環境と将来のクラウド環境に適していることがわかりますか? そうでない場合は、私に正しい道を案内してください。

    ありがとうございました! p.s.私の英語と文法のために私を許してください。理解できるように私の知識に最善を尽くしました。指摘してください。

    答えて

    1

    このような疑問は実際にはStackoverflowの範囲を超えていますが、あなたのインフラストラクチャをまだ理解していないように思えます。

    Zipkin、Hystrix、ELKスタックのようなNetflixスタックは、マルチサイトで多数のサービスを実際に大規模に展開した場合にのみ意味を持ち始めます。ホストの切断やデータベースノードの停止のように、何かが壊れてシステムを稼動させ続ける必要のある、アーキテクチャ内の多くの可動部分を持つ本当の問題になります。

    2つのホストと2つのサービスでは、このような複雑さをすべて導入することは意味がありません。あなたにはすでに圧倒され混乱しています。ユーレカとズールを使っていても2人のホストの1人が死んでも、それはあなたを救いません。システム全体がダウンします。

    あなたはNetflixではない)最新の流行語のライブラリを一掃し、あなたのサービスを1つのホストと別のホストのデータベース(EurekaやZuulは必要ありません)で実行するシンプルなアーキテクチャを考えてみてください。ログを共有する場所を考え、素敵で使いやすいフォルダ構造を整理して保管しておくと、木場よりもはるかに優れた簡単なコマンドラインツール(ログを見るのが難しい)で簡単に検索して検索できます。

    シンプルにして、管理が難しくなっていると感じたら、新しい部分のみを紹介してください。

    +0

    実際にプロジェクトは大きくなるでしょう、現在私は学習段階にあります。このスタックを正しく動作させる方法を知る必要があります。私はMe + 3人のチームでこれに取り組んでいます。私たちはKubernetesを導入しようとしていますが、それは第2ステップです。展開パイプラインについては、Jenkinsを使用する予定ですので、ステップごとに段階的に検討し、実際に各レイヤーを理解したいと考えています。 –

    +0

    私の助言は依然として立っています。追加の複雑さを導入する必要があるまで、簡単にしてください。上記のすべてのものが追加されます。 – Strelok

    関連する問題