Spring Cloudのバージョンの問題を詳しく説明する

目次

1. 面倒なマルチバージョン番号システム

2. ディレクトリ関係

3. バージョン番号体系が複数存在する理由


1. 面倒なマルチバージョン番号システム

歴史的な理由により、Spring Cloud は Alibaba と Netflix の 2 つのシステムに分かれています。

その理由と、Spring クラウド システム全体の詳細を理解したい学生は、私の別の記事を読むことができます。

SpringCloud__BugMan のブログの紹介 - CSDN ブログ

上記を理解した後、Spring Cloud のバージョン番号がどれほど乱雑であるかを見てみましょう。

公式 Web サイトを開いて、まずプロジェクト全体のバージョン リストを確認します。

816beaa091e24517a57a9542c842aa77.png

次に、下にスクロールすると、Netflix の Spring Cloud バージョンと Spring Boot バージョンの間の適応関係が表示されます。

つまり、Netflix のバージョン番号はリストの通りである必要があります。

111f8a1db3964fe38ff2533f6fb63def.png

しかし、Netflix プロジェクトをクリックすると、そのバージョン番号リストが次のようになっていることがわかります。

301e09d07afd4d189354c7709412a255.png

さて、この時期に始めたばかりの小さなお友達は騙されるでしょう、そして次のような疑念があるでしょう。

  • Alibaba と Netflix の 2 つのシステムに分かれているのに、なぜ Spring Cloud の一般的なプロジェクト リストにはバージョン番号が残っているのですか
  • Spring Boot の適応リストに表示される Netflix のバージョン番号リストは、Netflix で表示されるバージョン番号リストと異なるのはなぜですか? Netflix のバージョン番号が 2 セットあるのはなぜですか?
  • Spring Cloud を使用したい場合は、どの Maven 座標を使用すればよいですか?

この記事では、コンポーネントの関係から始めて、Spring Cloud のプロジェクト ディレクトリ構造を明確にし、その後、途中でバージョン番号の問題を明確にします。

2. ディレクトリ関係

まず最初に、Spring Cloud エコシステム全体におけるコンポーネント間の関係、つまり公式 Web サイトのディレクトリがなぜそのようになっているのかを明確にする必要があります。

マイクロサービスを実装するには、次のような主要な問題があります。

  • サービスの登録と検出
  • 耐障害性

Netflix と Alibaba の 2 つのシステムは、上記 2 点について独自の異なる実装を行っており、一般的に、異なるレジストリ コンポーネントとフォールト トレラント コンポーネントを起動しています。さらに、容易な機能拡張という点では、ゲートウェイ、バス、構成センターなどのサードパーティ コンポーネントへの統合とアクセスを通じて実現されます。

これを理解していれば、春のクラウド プロジェクトのリスト全体を見ても、それほど目まいがすることはありません。

Spring の公式 Web サイトに入ると、Alibaba と Netflix の 2 つのサブプロジェクトと、それらと同じレベルの多くのサブプロジェクトが表示されます。Alibaba と Netflix のプロジェクトには、独自のレジストリ コンポーネントとフォールト トレラント コンポーネントが含まれています。これは、Alibaba や Netflix と同じレベルにあり、ゲートウェイ (ゲートウェイ)、構成 (構成センター)、バス (バス) などの拡張された 3 部構成のコンポーネントです。

da26199db2d946c29b60837aaec1c894.png

3. バージョン番号体系が複数存在する理由

実際、コンポーネントの関係が明確になると、バージョン番号の問題は理解しやすくなります。歴史的な理由により、春の雲はアリババとNetflixに分かれていますが、春の雲はNetflixによって最初に作成されたため、公式ウェブサイトでは依然としてNetflixを中心として春の雲全体を説明しています。Netflix によって開始されたファミリー バケットの実際のバージョンは、実際には適応リストに記載されているバージョンです。

3f8f4dbefeac4469a679290b22388c73.png

Netflix のファミリー バケットのバージョンをランダムにクリックしてみましょう。実際には登録センター (Spring Cloud Netflix) とその他のコンポーネントであることがわかります。

5b0fdac0d2f94b1c8f598171393bd2d0.png

 Netflix の Spring Cloud の中心的な開発者が去った後、同社は独自の Spring Cloud を公式 Spring Cloud コミュニティに提供し、公式コミュニティは Netflix システムの Spring Cloud を反復しました。したがって、一般プロジェクトのバージョン番号のリストは、Spring Cloud 公式コミュニティが Netflix システムを受け取った後に繰り返し更新されるバージョンです。

504a874fb18745b9b9ecf2442c5dc6c5.png

バージョンをクリックするだけで、それが実際に Netflix で提供されているファミリー バケットであることがわかります。

3cfa20129ade4270978f065ffadb1e51.png

次に、公式 Web サイトの Spring Cloud Netflix サブプロジェクトは、eureka バージョンのみを維持します。

a40200da6840464d9af609f26c3ccbf5.png

任意のバージョンをクリックすると、非常に単純な eureka であることがわかります。

37ff52e4ccff4914ba532e1e7e57a37b.png

 Spring Cloud Alibaba に関しては、世界に対しては非常に無関心で、単に独自のバージョン番号を維持しています。

0abee8c2ec214b54acee599c7c0a286c.png

独自の nacos とセンチネルを維持します。

90bc044f6b3846169507320c96cbebcd.png

おすすめ

転載: blog.csdn.net/Joker_ZJN/article/details/131019270