ピュアな笑顔春の雲シリーズがついに完成学校ブログ、春の雲も予備的な理解を持っています。
フィルタの変更要求のパス
StripPrefixフィルターが要求パスの傍受機能である、我々は特別なフォワーディング事業を行うには、この機能を使用することができます。
- ID:StripPrefix
タグ:http://www.cnblogs.com
述語:
- パス= /名前/ **
フィルター:
- StripPrefix = 2
要求パスにマッチしたStripPrefixとき/名前/ **名がStripPrefix = 2が撮影したパスの数を表し、文字列を順方向および後部が削除されますが含まれ、時にアクセスのhttp:// localhostを:8081 /名前 / AA / 5ishare時間がにジャンプしますhttps://www.cnblogs.com/5ishareページ。
アクションPrefixPathフィルタとStripPrefix反し、接頭辞は、URLパスの一部の前に追加されます。
- ID:prefixpath_route
タグ:http://www.cnblogs.com
述語:
- メソッド= GET
フィルター:
- PrefixPath = / 5ishare
お使いのブラウザに入力します。http:// localhostを:8081 / P / 11831586.html ページにジャンプしますが https://www.cnblogs.com/5ishare/p/11831586.html。
スピードルータ
高速同時実行シナリオより一般的に使用される方法の一つは、効果的に全体的なサービスの安定性を保証することができ、春クラウドゲートウェイはRedisのに基づいて電流制限スキームを提供します。我々は、対応する依存関係スプリング・ブート・スターター・データ・Redisの反応性を追加する必要がありますので。
< 依存性> < のgroupId > org.springframework.boot </ のgroupId > < たartifactId >ばねブートスタータデータRedisの反応性</ たartifactId > < バージョン> 2.0.4.RELEASE </ バージョン> </ 依存>
Redisのアドレスと関連する構成を制限を追加するための設定ファイル
サーバ:
ポート:8081
ユーレカ:
クライアント:
サービスURL:
defaultZoneます。http:// localhost:8088 /ユーリカ/
ログ:
レベル:
org.springframework.cloud.gateway:デバッグ
春:
応用:
名前:SpringCloudGatewayDemo
繰り返し:
ホスト:localhostの
パスワード:
ポート:6379
雲:
ゲートウェイ:
発見:
ロケータ:
有効:真
ルート:
- ID:requestratelimiter_route
タグ:http://example.org
フィルター:
- 名前:RequestRateLimiter
引数:
Redisのレート-limiter.replenishRate:10
Redisのレート - limiter.burstCapacity:20
キーリゾルバ: "#{@ userKeyResolver}"
述語:
- メソッド= GET
フィルタ名はRequestRateLimiterでなければならない
のRedisレート-limiter.replenishRate:ユーザーが1秒あたりの要求数に処理することを可能にする
のRedisレート-limiter.burstCapacityを:トークンバケット容量、要求の最大数は、1秒で完了する
キーリゾルバ:名前でSPEL Bean参照を使用します
コンフィグクラスを作成するプロジェクトを制限するポリシーを設定。次のようにユーザ制限に要求パラメータフィールドが提供される流量制限のIPアドレスに、要求に応じて提供されてもよいです。
パッケージcom.example.demo。 輸入org.springframework.cloud.gateway.filter.ratelimit.KeyResolver; 輸入org.springframework.context.annotation.Bean; 輸入reactor.core.publisher.Mono; パブリック クラスコンフィグ{ @豆 公共KeyResolver ipKeyResolver(){ 戻り交換- > Mono.just(exchange.getRequest()getRemoteAddress()のgethostname()); } @豆 KeyResolver userKeyResolver(){ リターン為替- > Mono.just(exchange.getRequest()getQueryParams()getFirstと( "ユーザー"。。 )); } }
ヒューズルータ
春クラウドゲートウェイはまた、我々が最初に依存しているプロジェクトに追加し、交通渋滞の中に特性Hystrix行うサービスの低下を融合の利点を取ることができます。
< 依存性> < のgroupId > org.springframework.cloud </ のgroupId > < たartifactId >ばねクラウドスタータのNetflix-hystrix </ たartifactId > < バージョン> 2.1.3.RELEASE </ バージョン> </ 依存>
- ID:hystrix_route
URI:LB://春-クラウドプロデューサー
述語:
- パス= / consumingserviceendpoint
フィルター:
- 名前:Hystrix
引数:
名前:fallbackcmd
fallbackUri:フォワード:/ incaseoffailureusethis
fallbackUri:フォワード:/ incaseoffailureusethisパスがHystrixが呼び出され、フォールバックを呼び出す際にフォールバック、要求はこのURIをincaseoffailureuset /に転送されるときに調整されるように構成される。
再試行ルータ
RetryGatewayFilterは、提供要求の再試行にGatewayFilter工場春クラウドゲートウェイです
- ID:retry_test
URI:LB://春-クラウドプロデューサー
述語:
- パス= /再試行
フィルター:
- 名前:再試行
引数:
リトライ:3
ステータス:BAD_GATEWAY
再試行:再試行回数、デフォルト値は3つのです
ステータス:org.springframework.http.HttpStatus:HTTPステータスコードが返され、値が参照
方法:再試行ロジックを必要とする方法を指定するように要求、デフォルト値はGETメソッドです、基準値:org.springframework.http.HttpMethod
シリーズ:直列構成のステータスコード、基準値:org.springframework.http.HttpStatus.Series。状態が5XX(状態コード5開始)、5つの値の合計であり、値が5で、デフォルト値はSERVER_ERRORで、行動の再試行ロジックの特定のコードを遵守します。