1. ホーム
  2. Web プログラミング
  3. その他全般

ゲートウェイ・ゲートウェイ原理の徹底分析

2022-01-02 16:25:11

I 背景

マイクロサービスアーキテクチャは、シンプルで効果的な統一APIのエントリーポイントを提供します。

サービスリクエストのルーティング、コンポジション、プロトコル変換を担当し、パーミッション認証、モニタリング、Filter chainに基づくフロー制限を提供します。

  • 長所

パワフルな性能:初代ゲートウェイZuulの1.6倍の性能。

パワフル:転送、モニタリング、フロー制限など、多くの便利な機能を搭載しています。エレガントなデザインで、拡張も簡単です。

  • デメリット

NettyとWebFlux(Spring 5.0)に依存し、従来のServletプログラミングモデルではない(Spring MVCはこのモデルをベースにしている)、学習コストが高い。サポートにはSpring Boot 2.0以上が必要

II 必要な依存関係

1. set>>>>>application>>>uninstall
2. go to /data/data/appropriate package name and delete it
3. Delete /data/system/packages.xml and restart the emulator   


   設定ファイルや説明文を追加します。

<ブロッククオート

サーバーに接続します。
ポートを使用します。9000

のアプリケーションで使用することができます。
名称: sca-gateway
クラウドを利用した
ゲートウェイ
のルートになります。# ゲートウェイのルーティングルールを設定する
- id: route01 #ルートID。
uri: http://localhost:8081/ #ゲートウェイが転送してくれるurl
の述語を使用します。### アサーション(述語): リクエストルールにマッチする
- Path=/nacos/provider/echo/** #リクエストパスの定義、このパスはuriのリソースに対応する。
のフィルターになります。##ゲートウェイフィルター、述語の内容を判断し、分析し、処理するために使用される
- StripPrefix=1 #転送前のパスから第一階層のパスを削除する(例:nacos)

説明

ルートは、ゲートウェイの最も基本的な構成要素の一つである。

ルーティング情報の特定のキャリアを表します。

主に以下の情報が定義されています。

id 経路を他の経路と区別するための経路識別子。

uri ルートが指し示す宛先のURI、つまり、クライアントリクエストが最終的に転送されるマイクロサービスです。

predicate アサーション(述語)の目的は条件判断であり、アサーションがすべてtrueを返したときのみルートが実行される。

filter このフィルタは、リクエストとレスポンスの情報を修正するために使用されます。

ゲートウェイとは何ですか?

サービスアクセス(トラフィック)の入口で、生活における「習慣」のようなもの。

なぜゲートウェイを使用するのか?

サービスセキュリティ、サービスポータルの統合管理、ロードバランシング、フローリミッター、認証

Spring Cloud Gatewayアプリケーションの初期構築プロセス(依存関係の追加、設定)。

Gatewayサービスは、ボンネットの中で誰が起動するのでしょうか?

Nettyネットワークプログラミングフレームワーク - ServerSocket

ゲートウェイ・サービスは、リクエスト転送を行う際にレジストリに登録する必要がありますか?

必ずしもそうではありません。サービスはリモートURLから直接アクセスできます。

ロードバランシング

必要なpormファイルは、nacosの設定とパッケージで、nacosの設定センターを通じて、インスタンスを探します。

ゲートウェイレベルでのロードバランシングはどのように実装されているのですか?

サービス名から特定のサービスインスタンスを検索する

ゲートウェイレベルでは、サービス名でどのようにサービスインスタンスを探すのですか?

リボン

Ribbonで知っている負荷分散のアルゴリズムは?

ポーリング、ウェイト、ハッシュ......はIRuleインターフェースで表示・解析可能

リクエスト転送を行うゲートウェイの流れと、キーとなるオブジェクトは何ですか?

XxxHandlerMapping、Handler、。

ゲートウェイレベルのサービスのマッピングはどのように行われるのですか?

述語 -path,...,サービス名/サービスインスタンス

ゲートウェイ層は、どのようにサービスのマッピングを記録するのですか?

マップによって、リードロックとライトロックの適用を考慮するため

次の図は、ゲートウェイレベルでグローバルフィルタを定義しています。

ゲートウェイ

生まれた背景は?

第一に、マイクロサービスアクセスのためのエントリーポイントを統一すること。

2つ目:システムサービスを保護する。

第3回:認証・認可・フロー制限の統一化

ゲートウェイ選択?

Netifix Zuul、Spring Cloud Gateway、...

Spring Cloud Gatewayの実装を開始する

依存関係の追加、ルーティングの設定、クラスの開始

Spring Cloud Gatewayでロードバランシング?

ゲートウェイ・サービスの登録、サービスの発見、URI:LB://サービスIDに基づく特定のサービス・インスタンスへのアクセス

Spring Cloud Gatewayのアサーション構成?

検索エンジンを使って、一般的なものをいくつか調べてみましょう。

Spring Cloud Gatewayのフィルター設定?

ローカルとグローバルの2種類のフィルタを使いこなす

Spring Cloud Gatewayでフロー制限設計?

センチネル

ゲートウェイはインターネットのアーキテクチャの中でどのような位置づけにあるのでしょうか?

nginx->gateway->microservices->microservices

Gatewayの基盤となるロードバランシングの実装?

リボン

Gatewayのアプリケーションプロセスの設計におけるキーコンセプトは?

ルートID、ルートURI、アサーション、フィルタ

Gatewayでどのようなアサーション設定を行いましたか?

after,header,path,cookie,・・・。

Gatewayで使用しているフィルターについて教えてください。

プレフィックスの追加、プレフィックスの削除、リクエストヘッダの追加、...、ロードバランシング、...。

上記は、ゲートウェイゲートウェイの詳細な理解であり、ゲートウェイゲートウェイに関する詳細な情報は、スクリプトホームの他の関連記事に注意を払うしてください!.