SpringCloud学習シリーズ-zuulルーティングゲートウェイ

zuulルーティングゲートウェイ

  1.何があります

    Zuul要求は、2つの主要な機能のルーティングおよびフィルタリング含ま:
    ルーティング機能は、外部マイクロ特定のサービスインスタンスに要求を転送するための責任であり、均一な外部アクセスの入口とフィルタ機能の基礎は、要求を処理する責任でありますチェックを要求する、サービスアグリゲータの他の機能の基礎である、プロセスに介入する。

    ユーレカの他のウィジェットとサービスから情報を得ながらZuul統合ユーレカ、Zuul、すなわち後、ユーレカサービス管理アプリケーションとして自身を登録しますアクセスサービスは、ジャンプの後にマイクロZuulすることによって得られます。

    注:Zuulサービスは、最終的にユーレカで登録されます

    + + =プロキシ・フィルタをルーティングする3つの機能を提供

    2.なぜ缶

     ルーティング、フィルタリング

   公式ウェブサイト上の情報します。https://github.com/Netflix/zuul/wiki/Getting-Started

   3.テストコード - 基本的なルーティングの設定

    1.新しいモジュールモジュールmicroservicecloud-zuulゲートウェイ-9527を作成します。

    2. [変更ポンポン

    

 
< プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0" のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" 
  のxsi:schemaLocationの= "のhttp:/ /maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd」> 
  < modelVersion > 4.0.0 </ modelVersion > 
 
  < > 
   < groupIdを>コム.atguigu.springcloud </ のgroupId > 
   < たartifactId > microservicecloud </ たartifactId > 
   < バージョン> 0.0。1-SNAPSHOT </バージョン> 
  </ > 
 
  < たartifactId > microservicecloud-zuulゲートウェイ-9527 </ たartifactId > 
 
  < 依存性> 
   <! - zuul路由网关- > 
   < 依存> 
     < groupIdを> org.springframework.cloud </ groupIdを> 
     < たartifactId >スプリングクラウドスタータzuul </ たartifactId > 
   </ 依存>  
   < 依存性> 
     < のgroupId > ORG。springframework.cloud</ のgroupId > 
     < たartifactId >ばねクラウドスタータユーレカ</ たartifactId > 
   </ 依存> 
   <! - アクチュエータ监控- > 
   < 依存性> 
     < のgroupId > org.springframework.boot </ のgroupId > 
     < たartifactId >スプリング-boot-スタータアクチュエータ</ たartifactId > 
   </ 依存関係> 
   <! -   hystrix容错- > 
   < 依存> 
     <groupId >org.springframework.cloud </ のgroupId > 
     < たartifactId >ばねクラウドスタータhystrix </ たartifactId > 
   </ 依存> 
   < 依存性> 
     < のgroupId > org.springframework.cloud </ のgroupId > 
     < たartifactId >ばねクラウドスターター-config </ たartifactId > 
   </ 依存関係> 
   <! - 日常标配- > 
   < 依存> 
     < groupIdを> com.atguigu。飛躍雲</ のgroupId > 
     < たartifactId > microservicecloud-API </ たartifactId > 
     < バージョン> $ {project.version} </ バージョン> 
   </ 依存> 
   < 依存性> 
     < のgroupId > org.springframework.boot </ のgroupId > 
     < たartifactId >スプリング-boot-スタータ桟橋</ たartifactId > 
   </ 依存> 
   < 依存性> 
     <groupId >org.springframework.boot </ groupIdを> 
     < たartifactId >春・ブート・スターター・ウェブ</ たartifactId > 
   </ 依存関係> 
   < 依存> 
     < groupIdを> org.springframework.boot </ groupIdを> 
     < たartifactId >春・ブートスターター-test </ たartifactId > 
   </ 依存関係> 
   <! - 热部署插件- > 
   < 依存> 
     < groupIdを>組織。springframework </groupId > 
     < たartifactId >スプリング付き</ たartifactId > 
   </ 依存関係> 
   < 依存> 
     < groupIdを> org.springframework.boot </ groupIdを> 
     < たartifactId >春・ブート・デベロッパーツール</ たartifactId > 
   </ 依存関係> 
  </ 依存関係> 
 
< / プロジェクト>

 

  3.変更YM

   

サーバー:
  ポート:9527 
 
春:
  アプリケーション:
    名前:microservicecloud-zuul-ゲートウェイ
 
ユーレカ:
  クライアント:
    サービスURL:
      defaultZone:http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka、 http://eureka7003.com:7003/eureka   
  インスタンス:
    インスタンスID:gateway-9527.com 
    好む-IPアドレス:真の
 
 
情報:
  app.name:atguigu-microcloudの
  company.name:www.atguigu.com 
  build.artifactId :$ project.artifactId $ 
  build.version:$ project.version $

4.hosts修正127.0.0.1 myzuul.com

マスターブートクラス

パッケージcom.atguigu.springcloud。
 
輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.cloud.netflix.zuul.EnableZuulProxy; 
 
@SpringBootApplication 
@EnableZuulProxy 
パブリック クラスZuul_9527_StartSpringCloudApp 
{ 
  公共 静的 ボイドメイン(文字列[]引数)
  { 
   SpringApplication.run(Zuul_9527_StartSpringCloudApp。クラス、引数)。
  } 
}
 

7. [スタート]

  3つのクラスタユーレカ

 サービスプロバイダクラスmicroservicecloudプロバイダ-DEPT-8001

ルート

8.試験

  ルーティングなします。http:// localhost:8001 / DEPT / GET / 2

  ルーティングを有効にします。http://myzuul.com:9527 / microservicecloud-DEPT / DEPT / GET / 2

 4.テストコード - アクセスルートマッピングルール

   1.プロジェクトmicroservicecloud-zuulゲートウェイ-9527

   2.エージェント名

    YML

   

 
http://myzuul.com:9527/microservicecloud-dept/dept/get/2 
 
 
zuul:
  ルート:
    mydept.serviceId:microservicecloud-DEPT 
    mydept.path:/ mydept / ** 
 
http://myzuul.com:9527 / mydept / DEPT / GET / 1
 
 
 
 

  この場合、問題

   ルーティングアクセスOKます:http://myzuul.com:9527 / mydept / DEPT /取得/ 1

   オリジナルパスアクセスOKます:http://myzuul.com:9527 / microservicecloud-DEPT / DEPT /取得/ 2

3.元の実際のサービス名を無視:

  YML

  

 
zuul:
  無視-サービス:microservicecloud-DEPT 
  路線:
    mydept.serviceId:microservicecloud-DEPT 
    mydept.path:/ mydept / **
 

シングル具体的には、複数の「*」であってもよく、

zuul: 
   無視-サービス: "*" 
  ルート:
    mydept.serviceId:microservicecloud-DEPT 
    mydept.path:/ mydept / **

5.統一共通のプレフィックス

YML

 
zuul:接頭辞:/ atguigu 
  無視-サービス: "*" 
  ルート:
    mydept.serviceId:microservicecloud-DEPT 
    mydept.path:/ mydept / **
  
 

http://myzuul.com:9527/atguigu/mydept/dept/get/1

最後にYML

サーバー:
  ポート:9527 
 
春:
  アプリケーション:
    名前:microservicecloud-zuulゲートウェイzuul:
  接頭辞:/ atguigu 
  無視-サービス: "*" 
  ルート:
    mydept.serviceId:microservicecloud-DEPT 
    mydept.path:/ mydept / ** 
ユーレカ:
  クライアント:
    サービスURL:
      defaultZone:http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka   
  インスタンス:
    インスタンスID:gateway- 9527.comは
    好む-IPアドレス:真の
情報:
  app.name:atguigu-microcloudの
  company.name:www.atguigu.com 
  build.artifactId:$ project.artifactId $を
 

 
 
  build.version:$ project.version $
 

おすすめ

転載: www.cnblogs.com/XiangHuiBlog/p/12101198.html