シリーズ記事の目次
第 1 章 Java スレッド プール技術の応用
第 2 章 CountDownLatch と Semaphone の応用
第 3 章 Spring Cloud の概要
前書き: Spring Cloud は Spring Boot に基づくマイクロサービス フレームワークです
Spring Cloud は、すぐに使用できるフレームワークではなく、次の 2 世代の実装を持つマイクロサービス仕様です。
- 第一世代の実装: Spring Cloud Netflix
- 第 2 世代の実装: Spring Cloud Alibaba
1. Spring Cloud の共通コンポーネントを以下の表に示します。
Spring Cloud コンポーネント | 説明する |
---|---|
スプリングクラウド Netflix エウレカ | Spring Cloud Netflix のサービス ガバナンス コンポーネントには、サービス登録センター、サービス登録、および検出メカニズムの実装が含まれます。 |
Spring Cloud Netflix リボン | Spring Cloud Netflix のサービス呼び出しとクライアント側の負荷分散コンポーネント。 |
スプリングクラウド Netflix ハイストリックス | 「Brother Porcupine」として知られる Spring Cloud Netflix のフォールト トレランス管理コンポーネントは、サービスの遅延や障害に対する強力なフォールト トレランスを提供します。 |
Spring Cloud Netflix のふり | リボンと Hystrix に基づく宣言型サービス呼び出しコンポーネント。 |
スプリング クラウド Netflix ズール | Spring Cloud Netflix のゲートウェイ コンポーネントは、インテリジェントなルーティングやアクセス フィルタリングなどの機能を提供します。 |
Spring クラウド ゲートウェイ | Spring 5.0、Spring Boot 2.0、Project Reactor などのテクノロジーに基づいて開発されたゲートウェイ フレームワークで、フィルター チェーンを使用して、セキュリティ、監視/インジケーター、電流制限などのゲートウェイの基本機能を提供します。 |
春のクラウド構成 | Spring Cloud の構成管理ツールは、構成コンテンツを保存するための Git の使用をサポートし、アプリケーション構成の外部ストレージを実装し、クライアントでの構成の更新、暗号化、復号化などの操作をサポートします。 |
春のクラウドバス | Spring Cloud のイベントおよびメッセージ バスは主に、クラスター内のイベントやステータスの変更を伝播し、構成の動的更新などの後続の処理をトリガーするために使用されます。 |
春の雲の流れ | Spring Cloud のメッセージ ミドルウェア コンポーネントは、Apache Kafka や RabbitMQ などのメッセージ ミドルウェアを統合し、中間層としてバインダーを定義することでアプリケーションとメッセージ ミドルウェア間の分離を完全に実装します。統合されたチャネルをアプリケーションに公開することで、アプリケーションはさまざまなメッセージ ミドルウェアの実装を考慮することなく、メッセージを簡単に送受信できるようになります。 |
春の雲の探偵 | Spring Cloud 分散リンク追跡コンポーネントは、Twitter の Zipkin を完全に統合できます。 |
2. Spring Boot と Spring Cloud の違いと関係
2.1. Spring Boot と Spring Cloud は異なる役割分担を持っています
Spring Boot は Spring をベースにした高速開発フレームワークで、開発者が Web プロジェクトを迅速に構築できるようにします。
Spring Cloud はマイクロサービス アーキテクチャによるワンストップ ソリューションです
- Spring CloudはSpring Bootに基づいて実装されています
- Spring Boot と Spring Cloud では依存関係の数が異なります
- Spring Cloud は Spring Boot から独立して実行できません
Spring Cloud バージョンの選択
春の雲 | スプリングブーツ |
---|---|
ホクストン.SR12 | >=2.2.0.RELEASE および <2.4.0.M1 |
2020.0.6 | >=2.4.0.M1 および <2.6.0-M1 |
2021.0.0-M1 | >=2.6.0-M1 および <2.6.0-M3 |
2021.0.0-M3 | Spring Boot >=2.6.0-M3 および <2.6.0-RC1 |
2021.0.0-RC1 | Spring Boot >=2.6.0-RC1 および <2.6.1 |
2021.0.5 | Spring Boot >=2.6.1 および < 3.0.0-M1 |
2022.0.0-M1 | Spring Boot >=3.0.0-M1 および < 3.0.0-M2 |
2022.0.0-M2 | Spring Boot >=3.0.0-M2 および < 3.0.0-M3 |
2022.0.0-M3 | Spring Boot >=3.0.0-M3 および < 3.0.0-M4 |
2022.0.0-M4 | Spring Boot >=3.0.0-M4 および < 3.0.0-M5 |
2022.0.0-M5 | Spring Boot >=3.0.0-M5 および < 3.0.0-RC1 |
2022.0.0-RC1 | Spring Boot >=3.0.0-RC1 および < 3.0.0-RC2 |
2022.0.0-RC2 | Spring Boot >=3.0.0-RC2 および < 3.1.0-M1 |