springcloud の 5 つの主要コンポーネントは次のとおりです: 1. AWS リージョンで実行されている中間層サービスを見つけるために使用される RESTful サービスである Eureka; 2. HTTP および TCP に基づくクライアント負荷分散ツールであるリボン; 3. . Hystrix、アプリケーションが操作を複数回実行しようとするのを防ぎます; 4. Zuul、API ゲートウェイ、ルーティング、負荷分散などの複数の機能を備えています; 5. Config、サーバーとクライアントを提供します。
springcloud の 5 つの主要コンポーネントは何ですか?
1. Eureka
役割: サービス ガバナンス (サービスの登録と検出) を実現します。
AWS リージョンで実行されている中間層サービスを見つけるために使用される RESTful サービス。これは、Eureka サーバーと Eureka クライアントの 2 つのコンポーネントで構成されます。サービス登録サーバーとしてEurekaサーバーを使用します。 Eureka クライアントは、サーバーとの対話を簡素化し、ポーリング ロード バランサーとして機能し、サービスのフェイルオーバー サポートを提供するために使用される Java クライアントです。 Netflix は、実稼働環境で別のクライアントを使用し、トラフィック、リソース使用率、エラー ステータスに基づいて重み付けされた負荷分散を提供します。
アプリケーションが起動すると、Eureka クライアントは独自のサービス情報をサーバーに登録し、サーバーのサービス情報をローカルにキャッシュします。クライアントはサーバーとのハートビート対話を定期的に実行して、サービス リースとサービス情報を更新します。
2. リボン
機能: 主にクライアント側のソフトウェア負荷分散アルゴリズムを提供します。
Spring Cloud リボンは、HTTP および TCP に基づくクライアント側の負荷分散ツールであり、Netflix リボンに基づいて実装されています。 Spring Cloud のカプセル化により、サービス指向の REST テンプレート リクエストをクライアント側で負荷分散されたサービス呼び出しに簡単に自動的に変換できます。リボン クライアント コンポーネントは、接続タイムアウト、再試行、再試行アルゴリズムなどの一連の完全な構成オプションを提供します。リボンには、プラグイン可能でカスタマイズ可能な負荷分散コンポーネントが組み込まれています。
3. Hystrix
サーキット ブレーカーは、アプリケーションが失敗する可能性のある操作の実行を複数回試行することを防ぎ、障害の回復を待ったり、実行中に CPU サイクルを無駄にせずにアプリケーションを続行できるようにします。障害が永続的であると判断します。サーキット ブレーカー モードを使用すると、アプリケーションは障害が解決されたかどうかを検出することもできます。問題が解決されたと思われる場合、アプリケーションは操作の呼び出しを試行できます。
高可用性を確保するために、通常、個々のサービスはクラスターにデプロイされます。ネットワーク上の理由や独自の理由により、サービスは 100% の可用性を保証できません。単一のサービスに問題がある場合、そのサービスを呼び出すときにスレッド ブロッキングが発生します。このとき、大量のリクエストが殺到すると、サーブレット コンテナのスレッド リソースが消費され、サービス麻痺が発生します。サービス間の依存関係により、障害が伝播し、マイクロサービス システム全体に壊滅的な影響を及ぼします。これがサービス障害の「雪崩」効果です。
4. Zuul
機能: APIゲートウェイ、ルーティング、ロードバランシングなどの複数の機能を備えています。
nginxのリバースプロキシ機能と似ていますが、Netflix自体も他のコンポーネントと連携するための機能をいくつか追加しています。マイクロサービス アーキテクチャでは、バックエンド サービスは呼び出し側に直接開かれないことが多く、要求された URL に基づいて API ゲートウェイを通じて対応するサービスにルーティングされます。 API ゲートウェイを追加すると、サードパーティの呼び出し元とサービス プロバイダーの間に壁が作成され、この壁が呼び出し元と直接通信して権限を制御し、バックエンド サーバーにリクエストをバランスよく分散します。
5. Config
機能: 構成管理。
SpringCloud Config はサーバー側とクライアント側を提供します。サーバー ストレージ バックエンドのデフォルト実装では git が使用されるため、構成環境のタグ付きバージョンを簡単にサポートし、コンテンツを管理するためのさまざまなツールへのアクセスを提供します。これはまだ静的であり、動的構成更新を実現するには Spring Cloud Bus と調整する必要があります。
スプリングクラウドとは何ですか?
Spring Cloud は、一連のフレームワークの順序付けされたコレクションです。 Spring Boot の開発の利便性を利用して、サービス検出登録、構成センター、メッセージ バス、負荷分散、サーキット ブレーカー、データ監視などの分散システム インフラストラクチャの開発を巧みに簡素化します。これらのすべては、 Spring Boot 開発スタイル。ワンクリックで起動してデプロイできます。 Spring Cloud は車輪の再発明ではなく、さまざまな企業によって開発された比較的成熟した実用的なサービス フレームワークを結合し、複雑な構成と実装原則を保護するために Spring Boot スタイルを通じてそれらを再カプセル化し、最終的に開発者に提供します。理解しやすく、展開し、保守しやすい分散システム開発ツールキットのセット。
以上がspringcloud の 5 つの主要コンポーネントとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。