14.Spring-クラウド装うは、圧縮されたコンフィギュレーションおよびロギング設定を要求し

   圧縮構成要求

    春クラウド装うサポート要求と応答のGZIP圧縮は、主に春 - クラウドNetflixの-core.jarファイルで、パフォーマンスの通信の損失を低減します。

デフォルトの要求とそれに対応する圧縮が無効になっているから
org.springframework.cloud.netflix.feign.encoding.FeignContentGzipEncodingAutoConfiguration要求クラスが見ることができる圧縮が無効になっている
出典:
@ConditionalOnProperty(値=「feign.compression.request.enabled」 、= matchIfMissing falseに)
org.springframework.cloud.netflix.feign.encoding.FeignAcceptGzipEncodingAutoConfiguration.classクラスを見ることができるが、圧縮に応答して無効になっている
ソースコード:

@ConditionalOnProperty(値= "feign.compression.response.enabled"、matchIfMissing =偽)

org.springframework.cloud.netflix.feign.encoding.FeignClientEncodingPropertiesは、いくつかのデフォルトのクラスは、エンコード属性を配置し
ます。ソースを
@ConfigurationProperties(「feign.compression.request」)
パブリッククラスFeignClientEncodingProperties {
    / **
     * MIMEタイプのリストのサポートされています。
     * /
    プライベートString []型= MIMEタイプの新しい新しいString [] { "テキスト/ XML"、 "ファイルアプリケーション/ XML"、 "ファイルアプリケーション/ JSON"};
    / **
     最小しきい値サイズの*内容。
     * /
    プライベートminRequestSize INT = 2048;

}

カスタム圧縮application.propertiesを要求

feign.compression.request.enabled = 
feign.compression.response.enabled = 
#默认配置
feign.compression.request.mine -types = text / xmlで、アプリケーション/ xmlの、アプリケーション/ JSON 
#默认配置
feign.compression.request .min -requestサイズ= 2048
 

ロギング設定

@FeignClientコメント修正クライアントサービスを構築する場合、feign.Logger例を作成する必要がありますクライアントである、あなたは装うの要求の詳細を分析するためにDEBUGログオブジェクトモデルを使用することができます。詳細配置さapplication.properties構成:

。Logging.level <FeignClient> = DEBUGオープン装うは、デバッグモードでクライアントログを指定しました。

インタフェース定義クライアント装うへのフルパス<FeignClient>

如:
logging.level.com.niugang.service.HelloService = DEBUG

ただ、呼び出し元のプロセスでどれもレベル情報に装うデフォルトのlogger.levelのオブジェクト定義は、それが記録されません装うため、上記の設定がクライアントにデバッグログの出力を達成することはできません追加します。

装うレベルのログ
  / **
   *コントロールのロギングのレベル。
   * /
  公共enumのレベル
    / **
     *ロギングなし。ロギングなし
     * /
    NONE、
    / **
*メソッドのみレコードとURLを要求し、応答ステータスコード、および実行時間。
     のみログ要求メソッド*とURLコードとステータス応答時間と実行。
     * /
    BASIC、
    / **
*記録の基本的な情報要求と応答のヘッダー。
     リクエストとレスポンスヘッダをログに伴い基本情報*。
     * /
    ヘッダは、
    / **
*リクエストとレスポンスヘッダ、テキストとメタデータを記録
     要求および応答の両方のログ[ヘッダ、ボディ、およびメタデータ*。
     * /
    FULL

  }

道の作成:起動クラスの設定に

@SpringBootApplication 
@EnableDiscoveryClient 
// 走査(@FeignClientによって)クライアントのふりインターフェースそれらを宣言
@EnableFeignClients
 パブリック クラスアプリケーション{ 
@Bean 
Logger.Level feignLoggerLevel(){ 
戻りLogger.Level.FULLを; 
} 
パブリック 静的 ボイドメイン(文字列[]引数){ 
SpringApplication.run(応用クラス、引数); 
} 
}

 

 


テスト

   输入:のhttp:// localhostを:9001 /装う-consumer1 / zhangsan

   入力:HTTP:// localhostを:9001 /装う-consumer2 / zhangsan / 15094031789

カスタム設定クラス:方法を作成します

 

特別な設定クラスを作成します。1.

輸入org.springframework.context.annotation.Bean;
輸入org.springframework.context.annotation.Configuration。
輸入feign.Logger; 
@Configuration 
パブリック クラスFeignLoggerConfig { 
@Bean 
Logger.Level feignLoggerLevel(){ 
戻りLogger.Level.FULL。
} 
}

 

2.サービスコールインタフェースを拘束

//値:ネームサービスを呼び出す
フォールバック//:コンフィギュレーションサービスは、クラス格下げ
カスタマイズされたクライアントのカスタム@Configuration://設定を。これは、クライアントの@Bean定義された断片を書き換える含むことができます

@FeignClient(値= "サービス提供"、フォールバック= ServiceProvideFallBack.class、構成= FeignLoggerConfig.class)

同じクラス開始の効果の設定とテスト結果

                                                                               マイクロチャンネル公共数: 

                                               

                                                                             JAVAプログラム猿の成長パス

                          リソース共有、少しずつ成長している録画番組猿。Javaの、春、SpringBoot、SpringCloud、分散、わずかサービスに焦点を当てます。 

おすすめ

転載: www.cnblogs.com/niugang0920/p/12193286.html