3日目偽のリモートコール

前の調査では、リボンの負荷分散機能を使用しました。これにより、リモート呼び出しのコードが大幅に簡素化されました。

これを学んだら、将来、似たような繰り返しコードをたくさん書く必要があるかもしれません。フォーマットは基本的に同じですが、パラメーターが異なります。これらのコードを再度最適化するためのよりエレガントな方法はありますか?

これは、次に学習するFeign関数です。

 

2.1。はじめに(ly-consumerマイクロサービスグル​​ープで構成)

なぜ変装と呼ばれるのですか?

Feignは、Restの要求を非表示にし、SpringMVCと同様のコントローラーのふりをすることができますURLの接続、パラメータの接続などを自分で行う必要はなく、すべてをFeignに任せる必要があります。

 

2.2。クイックスタート

2.2.1。依存関係をインポートする

まず第一に、これはインターフェースです。Feignは動的プロキシを使用して実装クラスを生成します。これはmybatisマッパーと非常によく似ています

@FeignClientは、@ Mapperアノテーションと同様に、これがFeignクライアントであることを宣言します。同時に、value属性を使用してサービス名を指定します

インターフェイスの定義メソッドは、SpringMVCアノテーションを完全に採用しています。Feignは、アノテーションに基づいてURLを生成し、結果にアクセスするのに役立ちます。

 

2.2.3。偽の機能をオンにする

スタートアップクラスにアノテーションを追加して、Feign関数を有効にします

@EnableFeignClients // Feign関数を有効にする

 

2.2.4。テストを開始します。

 

2.3。負荷分散

 

Feign自体には、リボンの依存関係と自動構成が統合されています。

したがって、追加の依存関係を導入したり、RestTemplateオブジェクトを登録したりする必要はありません。

さらに、前のレッスンで説明したようにリボンを構成でき、ribbon.xxを介してグローバルに構成できます。サービス名.ribbon.xxを使用して、指定したサービスを構成することもできます。

user-service:

  ribbon:

    ConnectTimeout: 250 # 连接超时时间(ms)

    ReadTimeout: 1000 # 通信超时时间(ms)

    OkToRetryOnAllOperations: true # 是否对所有操作重试

    MaxAutoRetriesNextServer: 1 # 同一服务不同实例的重试次数

    MaxAutoRetries: 1 # 同一实例的重试次数

 

おすすめ

転載: blog.csdn.net/qq_42198024/article/details/107904221