1.ゲートウェイの概要
Gatewayプロジェクトは、Spring 5、Spring Boot 2、ProjectReactorなどのSpringエコシステム上に構築されたAPIGatewayを提供します。Spring Cloud Gatewayは、APIにルーティングするためのシンプルで効率的な方法を提供し、APIにセキュリティ、監視/メトリック、復元力などの横断的関心事を提供することを目的としています。
Spring Cloud Gatewayの機能:
- Spring Framework 5、Project Reactor、SpringBoot2.0に基づいて構築されています
- 任意のリクエスト属性でルートを照合する機能。
- ルートベースの条件付きコンストラクター述語とフィルターフィルター
- サーキットブレーカの統合。
- 集成SpringCloudDiscoveryClient
- 条件付きコンストラクター記述しやすいルートの述語とフィルター
- リクエストレート制限
- ルートリライト
では、なぜゲートウェイゲートウェイを使用する必要があるのですか?
主な理由は、ラブトークサービスと以前に完了したプロジェクトサービスに対応するアプレットを開発するときに同じhttpsセキュアドメイン名の使用を容易にするために、2つの関数のコードが1つのプロジェクトに書き込まれ、結果として一度に1つの機能を変更すると同時に、別のサービスの使用に影響を与え、マイクロサービスが独自の職務を遂行するという概念を実現しないため、ゲートウェイゲートウェイを使用してプロジェクトを再構築する予定です。 、そして最後に、ドメイン名がルートに従って異なるバックエンドサービスに転送されることを認識します。
2.ゲートウェイプロジェクトを作成します
2.1アイデアに基づいて新しいspringbootプロジェクトを作成する
2.2関連するパラメータを選択したら、[次へ]をクリックします
2.3依存関係を確認する
2.4完全なプロジェクト構造は次のとおりです。次に、新しいymlファイルを作成します
これは完全なpom.xmlファイルです
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yinfeng</groupId>
<artifactId>gateway</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gateway</name>
<description>gateway</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2021.0.1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
3.転送ルールを構成します
以前に作成したymlファイルで構成します
spring:
application:
name: gateway
cloud:
gateway:
routes:
- id: test
# 转发的地址
uri: http://127.0.0.1:8888
predicates:
# 配置url路径匹配规则
- Path=/test/**
server:
port: 8081
4.テストします
最初にバックエンドサービステストを開始します
ゲートウェイゲートウェイサービスを開始した後、
PostManを介してゲートウェイドメイン名とテストルートにアクセスします
リクエストは通常テストサービスのインターフェースに転送でき、インターフェースの応答も受信され、最終的に目標が達成されたことがわかります。
5.まとめ
外出するのは簡単ではありません。すべての兄弟が好きな仕事を見つけてくれることを願っています。そして、寅年は満員になるでしょう!私も兄弟が願っていますフォロー、いいね、お気に入り、コメント応援の波、ありがとうございました!