第六に、サービスルーティングゲートウェイは myzuul上記親プロジェクトに新しいモジュールを作成します。1. ユーレカディスカバリークライアントは>春クラウド2.ディスカバリー選択 クラウドは春> Zuul routing-選択 アーティファクトとして3.Moduleは、一般的に名前を変更しないと、プロジェクト名 4. SRC次のように\ application.propertiesを、主に以下の\リソースはapplication.yml名前を変更し、ファイルのエンコーディングを変更することは、UTF-8である :サーバー ポート:1003 春: ファイルアプリケーション: 名前:myzuul プロファイル: アクティブ:デフォルト Zipkin: 有効:trueに な塩基をURL:HTTP:// localhostを:9411 / ロケータ: ディスカバリー: 有効:trueに :SENDER WEB:タイプの スルース: ウェブ: クライアント: 有効:trueに サンプラー: #デフォルトのサンプリングレートは、あなたが要求したデータのすべてを見ることができない、0.1で サンプルレートを変更するために#1を、あなたは要求されたデータのすべてを見ることができますが、これは、インタフェースの呼び出し遅延増加します 確率:1.0 ユーレカ: インスタンス: リース・リニューアル間隔ザ・を-in-秒:5#ハートビート時間、サービスの更新間隔(デフォルト30代) で-秒リース満了-DURATION-:時間のうち10#ハートビートを、10秒間、サービス契約の有効期限が切れます(デフォルトは90年代のためである) 好む-IPアドレス:IPサービスレジストリに登録された真の#へ :クライアント サービスURL: defaultzoneます。http:// localhost:1024 /ユーレカ/ FETCH-レジストリ:trueにレジストリに登録された# レジストリ-fetch間隔秒:キャッシュ更新時間の5#サービスリスト、デフォルト30秒 Zuul: 無視-サービス:「*」 ストリップ接頭辞:転送パス(値のパス)を削除すると、真の#は、転送要求 たルート: MYSERVICE:MYSERVICEサービスに転送されている/で始まるすべてのリクエストに#のAPI パス:/ API / ** をServiceID:MyServiceで 5.pomファイル依存的に増加し、そこリフレッシュのMavenプロジェクト パブリック静的無効メイン(文字列[] args){< 依存> < groupIdを> org.springframework.cloud </ groupIdを> < たartifactId >春クラウドスターター-Zipkin < / たartifactId > </ 依存関係> 6.オープンSRC \メイン\ javaの\ COM \李\ myzuul MyzuulApplication.java次は、 起動クラス、オープンzuulに@EnableZuulProxy注釈を追加しました。 @EnableZuulProxy @SpringBootApplication パブリッククラスMyzuulApplication { SpringApplication.run(MyzuulApplication.class、引数); } } 7.オープニングブラウザHTTP:// localhostを:1003 / API / getTime 8.増加の認証セキュリティ、SRC \メイン\ javaのCOM \李 \ myzuul \新しいパッケージ以下フィルタ、新しいMyFilter.java @Component パブリッククラスZuulFilter myFilterを{延び 、プライベート静的ロガーLoggerFactory.getLogger =(MyFilter.class)ログ @Override パブリック文字列のfilterType(){ ;リターン"プレ" } @Override {公共のint filterOrderを() 0リターン; } @Override パブリックブールshouldFilter(){ trueに戻り; } @Override 公共の実行オブジェクト(){ RequestContextのCTX = RequestContext.getCurrentContext()。 のHttpServletRequest ctx.getRequest要求=(); log.info(String.Formatの( "%sの>>>%s"は、request.getMethod()、request.getRequestURL()のtoString())); オブジェクトaccessToken = request.getParameter( "トークン")。 IF(accessToken == NULL){ log.warn( "トークンが空です")。 ctx.setSendZuulResponse(偽); ctx.setResponseStatusCode(401)。 {試みる ctx.getResponse()にgetWriter()書き込み( "トークンが空です")。。。 }キャッチ(例外e){} 戻りヌル。 } log.info( "OK")。 ヌルを返します。 } } 8.打开浏览器访问のhttp:// localhostを:1003 / API / getTimeトークン= 22