序文
以前のブログでは、サービスAがサービスBを呼び出す必要がある場合、EurekaからサービスBの登録インスタンスを取得し、Feignを使用してBのサービスに電話してリボンを使用して負荷分散を実現する必要があります。ただし、複数のサービスを同時にクライアントに公開する場合、クライアントがどのように公開したかをどのように呼び出しますか。また、セキュリティ認証、許可制御、フィルター、動的ルーティング、その他の機能を追加する場合は、Zuulを使用してAPI Gatewayを実装する必要があります。 Zuulの使用方法を見てみましょう。
1. Zuulの依存関係に参加します
<Dependency> groupId> org.springframework.cloud </groupid> <artifactid> spring-cloud-starter-zuul </artifactid> </dependency> <dependency> groupid> org.cloud </groupid> <artifactid> spring-cloud-eureka </artifactid> </artifactid> </artifactid>
ZuulサービスをEureka Serverに登録し、Eureka Serverから登録サービスを発見する必要があるため、Eurekaの依存関係をここに追加します。
2.メインアプリケーションアプリケーションクラスでZuulサポートを有効にする
@springbootapplication @enablezuulproxy // @enablezuulproxyを使用してZuulサポートを有効にします。 Zuulが提供するフィルターと逆プロキシ関数を使用したくない場合は、 @EnableZuulserverを使用してパブリッククラスZuulapplication {public static void main(string [] args){spring application.run(zuulapplication.class、args); }} 3. application.ymlにZuulの基本的な構成情報を追加します
スプリング:アプリケーション:名前:NAME:GATEWAY-ZUUL#アプリケーション名サーバー:ポート:8768 #ZUULサーバーポート番号EUREKA:client:service-url:defaultzone:http:// localhost:8761/eureka instance:firef-ip-address:true
4. Application.ymlにサービスルーティング構成を追加します
前提条件:2つのサービスがEureka Serverに登録されています。 Springboot-Rest-Template-Feignサービスは、Springboot-H2-Serviceサービスを呼び出し、Springboot-Rest-Template-Feignサービスは、外の世界に提供するサービスです。つまり、Springboot-Rest-Template-Feignサービスは、クライアントにさらされたものです。
#ルーティング構成方法1#Zuul:#routes:#springboot-rest-template-feign: /templateservice /** #nall springboot-rest-template-feignのすべてのリクエストはテンプレートサービスに挿入され、ルーティング構成方法に転送されます。 1つずつパスする: /templateservice /** service-id:springboot-rest-template-feign#springboot-rest-template-feignは、eurekaに登録されているサービス名リボン:nfloadbalancerruleclassname:com.netflix.loudbalancer.roundrobinrule
V.検証
これで確認できます。入力:http:// localhost:8768/templateservice/template/1ブラウザにテスト結果を確認します。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。