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 $