Zuulフィルタ
Zuulフィルタのプロフィール
春の雲Zuulは、ルーティング要求と2つのフィルタ機能が含まれています。機能をルーティングする責任がある特定のマイクロサービスに要求を転送し、フィルタが介入する要求を処理する責任がある権限チェックの基礎であり、かつサービスアグリゲータの他の機能。
実際の動作では、いくつかの異なるフィルタによる経路マッピング及び転送要求が完了しました。それぞれの要求応答処理チェーンを与えるために一連のフィルターを通してzuul httpリクエストを入力して、クライアントに返されます。
4種類のフィルターを備えたスプリングクラウドzuul。
- プレフィルタ。リクエストがルーティングされる前に呼び出されます。マイクロサービスの前にZuul要求。例えば、要求認証、サービスインスタンスのマイクロ、記録デバッグ情報を選択します。
- ルートフィルタ。マイクロサービスへの要求を転送する責任。この中で、元の要求を構築、およびApacheのHttpClientやNetflixのリボンを使用して、元の要求を送信します。
- ポストフィルタ。ルートが呼び出され、エラーフィルタされた後。あなたは、それに応答して、標準のHTTPヘッダーを追加し、統計や指標を収集するだけでなく、その上のクライアントに送信し、応答することができます。
- エラーフィルタ。エラーが発生したときに要求を処理と呼ばれています。
デフォルトのフィルターに加えて、Zuulはまた、私たちは、カスタムフィルタの種類を作成することができます。例えば、我々は、静的な型のフィルタをカスタマイズすることができ、その代わりに、特定のマイクロサービスに要求を転送する応答Zuulを生成します。
ライフサイクルZuul要求次のとおりです。
カスタムZuulをフィルタリング
新しいモジュールmicroservice-ゲートウェイ-zuulフィルタを作成します。
Zuulユーレカクライアントを依存している追加します。
1 |
< 依存性 > < のgroupId > org.springframework.cloud </ のgroupId > < たartifactId >ばねクラウドスタータのNetflix-zuul </ たartifactId > </ 依存 > < 依存性 > < のgroupId > org.springframework.cloud </ のgroupId > < たartifactId >ばねクラウドスタータユーレカ</ たartifactId > </ 依存 > |
application.yml:
1 |
スプリング: |
フィルタの前のタイプを定義し、リクエストURIを記録します。
1 |
パブリック クラスが 延び ZuulFilterを { 民間最終静的ロガーロガー= org.slf4j.LoggerFactory.getLogger(MyZuulPreFilter.class)。パブリック文字列のfilterType () { 戻り「プレ」。 } |
春ブーツ主なカテゴリ:
1 |
|
テスト:
ユーレカサーバ、ユーザモジュールとmicroserviceゲートウェイ-zuulフィルタを起動します。
私たちは、Zuulのホストとポート/サンプル/ 1でユーザモジュールにアクセスします。
私たちは、コンソールを見てください。
私たちは、単にどのようなURI要求を記録します。その他の用法はZuulFilterが実装Netflixのコアパッケージを参照することができます。
フィルタの詳細については、Zuulリファレンスを使用することがあります:https://www.jianshu.com/p/ff863d532767