2016-11-04 4 views
0

サービスの検出にconsulを使用してJHipsterマイクロサービスアーキテクチャを実行しています。 mongodbのドッカーインスタンスに接続する1つのマイクロサービスがあります。新しいエンティティを保存するために在庫角度でテストしている間に、データベースを無効にしてもUIにエラーが発生しないことがわかりました。領事館から、私はサービスが2つの健康チェックのうちの1つに失敗していることがわかります。これは、dbを再度有効にすると再び通過します。 Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: importマイクロサービスが失敗したときにJHipsterがUIにエラーを投げない

私は領事がゲートウェイにサービスを利用できるように拒否していることを前提としていますが、ゲートウェイが使用不能に要求を処理する方法を設定するためにいくつかの方法があるはずと思われる:ゲートウェイログで

、私は次のようしていますサービス。誰が私にこのことを探すべきか教えてもらえますか?

答えて

1

これは正常です。ゲートウェイは、すべての領事健康診断に合格するサービスにのみリクエストをルーティングします。

デフォルトでは、Springブートはデータベースに対して自動的にhealtcheckを設定することに注意してください。これは、マイクロサービスの/ management/healthエンドポイントにあります。

お客様のマイクロサービスのspring.cloud.consulキーを使用して領事健康診断を設定することができます。私は特定のものを覚えていませんが、IDEAを使用すると利用可能なプロパティを自動完成します。

+0

あなたのお返事ありがとうございます。私は、要求されたサービスが利用できないシナリオをどのように処理するかを決定しようとしています。デフォルトでは、要求が満たされていなくても、ゲートウェイはUIに200を戻します。私は、サービスが利用できないとの回答を送り返すことを好むだろうが、どこに設定するのかはわからない。 – thejames42

+0

@ thejames42これはHystrixが自動的に "回路を開く"ために発生し、したがって200で応答します。これはあなたのニーズに合わせてカスタマイズすることができます。例:https://www.google.fr/amp/s/jmnarloch.wordpress.com/2015/09/16/spring-cloud-zuul-error-handling/amp/?client=ms-android-oneplus –

+0

答えとしてマークする方法がわからないので、親に印を付けてください。ありがとう! – thejames42

関連する問題