クラウドネイティブアプリをCloud Foundryにデプロイするために取り組んでいます。最初は「Netflixのすべてのグッズを使用しましょう」の後、CFとの重複がNetflixコンポーネントの使用を正当化するかどうかを質問しました。Cloud Foundry/PaaS環境でのユーレカの価値?
特にユーレカの場合、サービスディスカバリに使用する予定でしたが、CFとルートによって非常に似通った機能がすぐに提供されています。私たちが見逃すことは、サービスのランタイム登録です(頻繁に変更されないアーキテクチャーは大きな課題ではなく、実際にはserviceID - > CFルートの静的マップとなります)とハートビート私はコンテナレベルでCFがすべてが問題ないことを確認していると仮定します)。
これで、CFを使用しているときにアプリケーション(実際のアプリ)でどのように使用するのでしょうか?アーキテクチャを維持することのメリットは何ですか?
はPS
レシェック
、ありがとうございます。 興味深いことに、ユーレカがserviceID - > CFルートの単純なマップを保存していれば、Zuulの値も下がります(LBはCFによって提供され、gorouterは非常に良いオプションです)。
ハードコードされたURLを前提としていればtrueですが、私はconfigIDサービスを使用してserviceID - > cloud foundryルートマッピングの情報を保存するとどうなりますか?マッピングは、ローカルマシン、QA、PROD(春のプロファイルで区別されます)と異なり、私のアプリケーションから抽象化されます。私が正しいとすれば、このアプローチはユーレカがCFで与えるものを正確に与えてくれるが、各サービスから1つのコンポーネント(ユーレカサーバ)とユーレカクライアントライブラリを排除するだろう。だから私のポーからの純粋な勝利...? :) –
これは確かに実行可能なアプローチですが、ルートを2か所に維持して同期させる必要があります。 cfに関連付けられたルートを定義する必要があります(たとえば、manifest.yml内)。次に、config-serverで一致するルートを定義する必要があります。何か変わったら、両方の場所で修正する必要があります。大規模なデプロイメントでは、これらの種類の自動化されていない同期化タスクを避けることはいいことです。しかし、あなたの環境でそれがうまくいくなら、それは素晴らしいことです! –
良い点。ですから、私は既にアーキテクチャにRedisを導入していれば、そのようなserviceID - > routeのマッピングをRedisに保持することができます。メリット - 追加コンポーネントなしで、もし私が正しいのであれば、ユーレカのすべての価値がありますか? –