スプリングクラウド第二世代は、純粋なゲートウェイのGateWay網状、反応器の底部によって開発されたWebFlux構築物、任意のサーブレットコンテナに依存しない、それは1.6倍以上の性能Zuulを向上させる、IOが非同期である、Zuul異なります。次のようにビルドプロセスである(このサブが構築され、メインプログラムフローナコスを参照して設定することができます)
ポンポン
<依存性> <のgroupId> org.springframework.cloud </のgroupId> <たartifactId>ばねクラウドスタータゲートウェイ</たartifactId> </依存> <依存性> <のgroupId> com.alibaba.cloud </のgroupId> <たartifactId >スプリングクラウドスタータアリババ-ナコス発見</たartifactId> </依存>
プロファイル
サーバー: ポート:8040 春: アプリケーション: 名前:ゲートウェイ クラウド: ナコス: 発見: server-addrに:127.0.0.1:8848 ゲートウェイ: 発見: ロケータ: 有効:真
手段の上だけでなく、ナコスに自分自身を登録し、登録されているすべてのサービスのナコスを取得します。
ゲートウェイプロジェクトを開始し、それは今ネットワークルーティングすることができます。Access形式のIP:ポート/サービスのログイン名/ restfulapi-URL
例えば、我々は今、2つのマイクロ・サービス・プロジェクト、ユーザーのための1(ポート8082)、ナコスの1(ポート8081)を持っています。
3つのコアコンセプト
- ルート(経路)春クラウドゲートウェイの基本的な要素は、単に転送ルールとして理解することができます。これは含まれています:ID、URLの目標、述語フィルタのコレクションとコレクションを。
- 述語(述語)すなわちjava.util.function.Predicate、スプリングクラウドゲートウェイ述語は整合条件経路を使用して実装しました。これは、関数インタフェースは、特に私のブログのJava関数型プログラミング仕上げを参照して、条件判断することができています
- リクエストとレスポンスを変更するフィルタ(フィルタ)。
私たちは、私たちは以前の設定ファイルを使用しますが、次のようにサービスを使用しない場合にのみ、従来の前方を発見し、サービスの発見にナコスを使用しているため
spring: cloud: gateway: routes: - id: some_route uri: http://www.baidu.com predicates: - Path=/user/1 filtes: - AddRequestHeader=X-Request-Foo, Bar
这段配置的意思是说,当我们请求/user/1的url的时候,会添加AddRequestHeader=X-Request-Foo, Bar过滤器做一些处理,然后路由到http://www.baidu.com。
路由谓词配置工厂
路由谓词配置工厂由一整套谓词来进行配置转发的不同情况。