springcloud の 5 つの主要コンポーネント: 1. サービス ガバナンスを実装する Eureka、2. 主にクライアント側のソフトウェア負荷分散アルゴリズムを提供するリボン、3. サーキット ブレーカー、保護システム、および制御の Hystrix障害の範囲; 4. Zuul はルーティング、ロード バランシングなどの機能; 5. Config は構成管理機能です。
springcloud の 5 つの主要コンポーネント:
サービス検出 - Netflix Eureka
顧客側の負荷分散 - Netflix リボン
サーキット ブレーカー - Netflix Hystrix
サービス ゲートウェイ--- Netflix Zuul
分散構成 - Spring Cloud Config
##1、Eureka
機能 : サービスの実装ガバナンス (サービスの登録と検出)
はじめに: Spring Cloud Eureka は、Spring Cloud Netflix プロジェクトのサービス ガバナンス モジュールです。
は、Eureka サーバーと Eureka クライアントの 2 つのコンポーネントで構成されます。
Eureka サーバーはサービス登録センターとして使用されます。クラスターの展開をサポートします。
Eureka クライアントは、サービスの登録と検出を処理するために使用される Java クライアントです。
アプリケーションが起動すると、Eureka クライアントは独自のサービス情報をサーバーに登録し、サーバーのサービス情報をローカルにキャッシュします。クライアントはサーバーとのハートビート対話を定期的に実行して、サービス リースとサービス情報を更新します。
2. リボン
機能: リボンは主にクライアント側のソフトウェア負荷分散アルゴリズムを提供します。
はじめに: Spring Cloud リボンは、HTTP および TCP に基づくクライアント側の負荷分散ツールであり、Netflix リボンに基づいて実装されます。 Spring Cloud のカプセル化により、サービス指向の REST テンプレート リクエストをクライアント側で負荷分散されたサービス呼び出しに簡単に自動的に変換できます。
上の図を見てください。重要な点は、負荷分散戦略に従って外部 REST 呼び出しをマイクロサービス呼び出しに変換することです。リボンには多くの負荷分散戦略がありますが、これについては後で説明します。
3. Hystrix
機能: 回路ブレーカー、保護システム、制御障害範囲。
はじめに: 高可用性を確保するために、通常は単一のサービスがクラスターにデプロイされます。ネットワーク上の理由や独自の理由により、サービスは 100% の可用性を保証できません。単一のサービスに問題がある場合、そのサービスを呼び出すときにスレッド ブロッキングが発生します。このとき、大量のリクエストが殺到すると、サーブレット コンテナのスレッド リソースが消費され、サービス麻痺が発生します。サービス間の依存関係により、障害が伝播し、マイクロサービス システム全体に壊滅的な影響を及ぼします。これがサービス障害の「雪崩」効果です。
4、Zuul
機能: APIゲートウェイ、ルーティング、ロードバランシング、その他の機能
概要: nginx、リバースプロキシ機能に似ていますが、 Netflix 自体は、他のコンポーネントと連携するためにいくつかの機能を追加しています。
マイクロサービス アーキテクチャでは、バックエンド サービスは呼び出し側に直接開かれないことが多く、要求された URL に基づいて API ゲートウェイを通じて対応するサービスにルーティングされます。 API ゲートウェイを追加すると、サードパーティの呼び出し元とサービス プロバイダーの間に壁が作成され、この壁が呼び出し元と直接通信して権限を制御し、バックエンド サーバーにリクエストをバランスよく分散します。
5. Config
機能: 構成管理
概要: SpringCloud Config はサーバーとクライアントを提供します。サーバー ストレージ バックエンドのデフォルト実装では git が使用されるため、構成環境のタグ付きバージョンを簡単にサポートし、コンテンツを管理するためのさまざまなツールへのアクセスを提供します。
これはまだ静的であり、動的な構成更新を実現するには Spring Cloud Bus と調整する必要があります。
以上がspringcloud の 5 つの主要コンポーネントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。