web-dev-qa-db-ja.com

Spring CloudまたはSpring Boot? Biz APIを開発するための正しい春のプロジェクトは何ですか?

UIとアプリケーション/サービスの間に新しいビジネスAPIレイヤーを構築しようとしています。

春に最適なプロジェクトはどれですか?

それは...ですか Spring CloudまたはSpring Boot

28
SpringForLiving

Spring Bootはアプリ中心です。 @krygerが言ったように、Spring Cloudは起動時にビルドされます。次のような高レベルの問題を解決します。

  • 分散構成:すべてのサービスのすべてのインスタンスを構成する方法(標準ブート構成ファイルはgitまたはsvnにチェックインされ、構成サーバーを介して配布されます)。
  • サービスの登録と発見:サービスの特定のインスタンスを見つける方法(Netflix Eurekaを使用)
  • クライアント側の負荷分散:ラウンドロビンや応答時間などのスマートアルゴリズムを介して、使用するサービスのインスタンスを(Netflixリボンを使用して)インテリジェントに選択します。
  • Spring Rest TemplateまたはNetflix Feignを介してリボンに接続します。
  • サービス検出と負荷分散にプラグインされたプロキシ(Netflix Zuul)を介して、すべてのアセットとAPIを提供します。
  • Netflix Hystrixを介したCircuit Breakerパターンを使用したAPIエラーのカスケードを停止し、Hystrixダッシュボードですべての回路の状態を視覚化します。
  • 軽量メッセージバス経由ですべてまたは一部のサービスにコマンドを送信します。
  • Oauth2を使用してリソースを保護する
  • そして私がおそらく忘れていた他のこと。
69
spencergibb

まあ、選択はあなたのニーズに基づいています。

複数のサービスがあり、サービスの構成、検出、フォールトトレラントなどが必要な場合は、Spring Bootアプリを使用してSpringクラウド機能を使用します。また、クラウドネイティブライブラリも、専用のクラウドサービスプロバイダーで利用できます。

サービスが1つだけで、ホスティングメカニズムを認識している場合は、単純なスプリングブートアプリで十分です。

0
Maiden