私はスプリングクラウドを利用します。私が理解する限り、EurekaのクライアントがEurekaサーバーからサービスのリストを取得すると、Ribbonを使用して負荷分散が行われます。Hystrixを使用してユーレカからサーキットブレーカを介してサービスのリストを取得
クライアントはサーキットブレーカを介してユーレカからサービスのリストを取得するのにHystrixを使用していますか?
私はスプリングクラウドを利用します。私が理解する限り、EurekaのクライアントがEurekaサーバーからサービスのリストを取得すると、Ribbonを使用して負荷分散が行われます。Hystrixを使用してユーレカからサーキットブレーカを介してサービスのリストを取得
クライアントはサーキットブレーカを介してユーレカからサービスのリストを取得するのにHystrixを使用していますか?
Netflix Zuulと呼ばれるゲートウェイサービスがあります(エッジサービスとも呼ぶことができます)。クライアントはゲートウェイサービスに接続し、ゲートウェイサービスはユーレカサーバーに問い合わせて適切なマイクロサービスの詳細を取得します。
Hystrixは、基本的に、すべてのマイクロサービスで使用できるフォールトトレランス機能を使用します。その利点は、APIがダウンすると、アプリケーションのエラーを正常に処理することです。
shankarsh15によれば、HystrixはAPIコールでエラーやタイムアウトが発生した場合に実際には復元力(フォールバックなど)を提供します。
実際にリボン負荷バランス(LoadBalancerContext.java
->getServerFromLoadBalancer()
)がどのクライアントを呼び出すかを決定すると思います。
そして、これは最終的にdiscoveryClient.getInstances("service-name")
を行うと同様に動作します(別名サービス・インスタンスのリストを取得し、その後、使用するサービスを選択するラウンドロビンを使用しています)