springcloud の 5 つの主要コンポーネントの原則は次のとおりです: 1. Eureka はサーバーとの対話を簡素化し、ポーリング ロード バランサーとして機能し、サービスのフェイルオーバー サポートを提供するために使用されます; 2. リボンは主にクライアントを提供します。 -側のソフトウェア負荷分散アルゴリズム; 3. Hystrix は、システムの応答時間を維持するために、操作がタイムアウトになるリクエストを待つ代わりに、失敗する可能性のある操作を迅速に拒否するのに役立ちます; 4. Zuul は nginx のような機能です。リバース プロキシの; 5. 設定はそのままです。
springcloud の 5 つの主要コンポーネント
サービス ディスカバリ -- Netflix Eureka
顧客側の負荷分散 -- Netflix リボン
サーキット ブレーカー - Netflix Hystrix
サービス ゲートウェイ - Netflix Zuul
#分散構成 - Spring Cloud Config1、Eureka AWS リージョンで実行されている中間層サービスを見つけるために使用される RESTful サービス。 は、Eureka サーバーと Eureka クライアントの 2 つのコンポーネントで構成されます。 Eureka サーバーはサービス登録サーバーとして使用されます。 Eureka クライアントは、サーバーとの対話を簡素化し、ポーリング ロード バランサーとして機能し、サービスのフェイルオーバー サポートを提供するために使用される Java クライアントです。 Netflix は、トラフィック、リソース使用率、エラー ステータスに基づいて重み付けされた負荷分散を提供する代替クライアントを運用環境で使用しています。 /2. リボン リボンは主にクライアント側のソフトウェア負荷分散アルゴリズムを提供します。 リボン クライアント コンポーネントは、接続タイムアウト、再試行、再試行アルゴリズムなどの一連の完全な構成オプションを提供します。 Ribbon には、プラグイン可能でカスタマイズ可能な負荷分散コンポーネントが組み込まれています。 使用される負荷分散戦略の一部を次に示します。 単純なラウンドロビン負荷分散加重応答時間負荷分散リージョン認識のラウンドロビン負荷分散 ランダム負荷分散Ribbon には次の機能も含まれています。 サービス検出コンポーネント (Netflix の Eureka など) と簡単に統合できます完了Archaius ランタイム構成を使用するJMX を使用して運用およびメンテナンスのインジケーターを公開し、Servo を使用して公開する複数のプラグイン可能なシリアル化オプション非同期およびバッチ操作 (近日公開予定)自動 SLA フレームワーク (近日公開予定)システム管理/インジケーター コンソール (近日公開予定)3、Hystrix
## 回路ブレーカーは、アプリケーションが失敗する可能性のある操作の実行を複数回試行することを防ぎ、障害が回復するのを待たずに、または障害が永続的であると判断している間 CPU サイクルを無駄にせずにアプリケーションを続行できるようにします。
サーキット ブレーカー モードでは、アプリケーションが障害が解決したかどうかを検出することもできます。
問題が解決されたと思われる場合、アプリケーションはオペレーションの呼び出しを試みることができます。
サーキット ブレーカーはシステムに柔軟性と安定性を追加し、システムが障害から回復する間に安定性を提供し、この障害がパフォーマンスに与える影響を最小限に抑えます。
システムの応答時間を維持するために操作がタイムアウトする (または返されない) のを待つのではなく、失敗する可能性のある操作のリクエストを迅速に拒否するのに役立ちます。
サーキット ブレーカーが状態を変更するたびにイベントを発生させる場合、この情報を使用して、サーキット ブレーカーによって保護されているシステム コンポーネントの正常性を監視したり、サーキット ブレーカーが作動したときに管理者に警告したりできます。開いた状態。
フローチャート
4、ズール
nginxと同様にリバースプロキシの機能を持っていますが、Netflix自体が他のコンポーネントと連携するための機能をいくつか追加しています。
5. Spring Cloud Config
これは静的であり、動的構成更新を実現するには Spring Cloud Bus と調整する必要があります。
以上がspringcloud の 5 つの主要コンポーネントの原理は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。