大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 SpringCloud網(wǎng)關(guān)詳解

SpringCloud網(wǎng)關(guān)詳解

更新時(shí)間:2021-12-28 10:51:38 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2376次

介紹

在分布式環(huán)境中,服務(wù)之間需要相互通信。但是,這是服務(wù)間通信。我們還有一些用例,我們域外的客戶想要訪問(wèn)我們的 API 服務(wù)。因此,要么我們可以公開所有可由客戶端調(diào)用的微服務(wù)的地址,要么我們可以創(chuàng)建一個(gè)服務(wù)網(wǎng)關(guān),將請(qǐng)求路由到各種微服務(wù)并響應(yīng)客戶端。

在這里創(chuàng)建網(wǎng)關(guān)是更好的方法。有兩個(gè)主要優(yōu)點(diǎn) 

不需要維護(hù)每個(gè)單獨(dú)服務(wù)的安全性。

而且,橫切關(guān)注點(diǎn),例如元信息的添加可以在一個(gè)地方處理。

Netflix Zuul和Spring Cloud Gateway是兩個(gè)著名的 Cloud Gateway,用于處理此類情況。在本教程中,我們將使用 Spring Cloud Gateway。

Spring Cloud Gateway – 依賴設(shè)置

讓我們以我們一直在使用的 Restaurant 為例。讓我們?cè)谖覀兊膬蓚€(gè)服務(wù),即餐廳服務(wù)和客戶服務(wù)之前添加一個(gè)新服務(wù)(網(wǎng)關(guān))。首先,讓我們使用以下依賴項(xiàng)更新服務(wù)的pom.xm

<dependencies>
   <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
   </dependency>
   <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-gateway</artifactId>
   </dependency>
</dependencies>

然后,使用正確的注釋來(lái)注釋我們的 Spring 應(yīng)用程序類,即@EnableDiscoveryClient。

package com.tutorialspoint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class RestaurantGatewayService{
   public static void main(String[] args) {
      SpringApplication.run(RestaurantGatewayService.class, args);
   }
}

我們使用 @EnableDiscoveryClient 進(jìn)行注釋,因?yàn)槲覀兿胧褂?Eureka 服務(wù)發(fā)現(xiàn)來(lái)獲取為特定用例提供服務(wù)的主機(jī)列表

帶網(wǎng)關(guān)的動(dòng)態(tài)路由

Spring Cloud Gateway 具有三個(gè)重要部分。那些是 -

Route - 這些是網(wǎng)關(guān)的構(gòu)建塊,其中包含要轉(zhuǎn)發(fā)請(qǐng)求的 URL 以及應(yīng)用于傳入請(qǐng)求的謂詞和過(guò)濾器。

Predicate - 這些是一組標(biāo)準(zhǔn),應(yīng)與要轉(zhuǎn)發(fā)到內(nèi)部微服務(wù)的傳入請(qǐng)求相匹配。例如,只有當(dāng)傳入的 URL 包含該路徑時(shí),路徑謂詞才會(huì)轉(zhuǎn)發(fā)請(qǐng)求。

過(guò)濾器- 在將請(qǐng)求發(fā)送到內(nèi)部微服務(wù)或響應(yīng)客戶端之前,您可以在這些地方修改傳入的請(qǐng)求。

讓我們?yōu)椴蛷d和客戶服務(wù)的網(wǎng)關(guān)編寫一個(gè)簡(jiǎn)單的配置。

spring:
   application:
      name: restaurant-gateway-service
   cloud:
      gateway:
      discovery:
         locator:
            enabled: true
      routes:
         - id: customers
            uri: lb://customer-service
            predicates:
            - Path=/customer/**
         - id: restaurants
            uri: lb://restaurant-service
            predicates:
            - Path=/restaurant/**
server:
   port: ${app_port}
eureka:
   client:
      serviceURL:
         defaultZone: http://localhost:8900/eureka

關(guān)于上述配置的注意事項(xiàng) 

我們啟用了discovery.locator以確保網(wǎng)關(guān)可以從 Eureka 服務(wù)器讀取。

我們?cè)谶@里使用了 Path 謂詞來(lái)路由請(qǐng)求。這意味著任何以 / customer開頭的請(qǐng)求都將被路由到 Customer Service 并且對(duì)于 / restaurant,我們會(huì)將該請(qǐng)求轉(zhuǎn)發(fā)給 Restaurant Service。

現(xiàn)在讓我們?cè)诰W(wǎng)關(guān)服務(wù)之前設(shè)置其他服務(wù) 

啟動(dòng)尤里卡服務(wù)器

開始客戶服務(wù)

啟動(dòng)餐廳服務(wù)

現(xiàn)在,讓我們編譯并執(zhí)行 Gateway 項(xiàng)目。我們將使用以下命令進(jìn)行相同的操作

java -Dapp_port=8084 -jar .\target\spring-cloud-gateway-1.0.jar

完成后,我們準(zhǔn)備好在端口 8084 上測(cè)試網(wǎng)關(guān)。讓我們首先點(diǎn)擊 http://localhost:8084/customer/1,我們看到請(qǐng)求被正確路由到客戶服務(wù),我們得到以下輸出

{
   "id": 1,
   "name": "Jane",
   "city": "DC"
}

現(xiàn)在,點(diǎn)擊我們的餐廳 API,即 http://localhost:8084/restaurant/customer/1,我們得到以下輸出

[
   {
      "id": 1,
      "name": "Pandas",
      "city": "DC"
   },
   {
      "id": 3,
      "name": "Little Italy",
      "city": "DC"
   }
]

這意味著兩個(gè)調(diào)用都被正確路由到各自的服務(wù)。以上就是關(guān)于“SpringCloud網(wǎng)關(guān)詳解”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容豐富,由淺到深,適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日日干日日爽 | 97视频在线看 | 天天干天天色天天干 | 日韩午夜免费视频 | 亚洲美女亚洲精品久久久久 | 99国产精品热久久久久久 | 成人欧美一区二区三区黑人3p | 亚洲免费美女视频 | 久久视频这里只精品3国产 久久视频这里只有精品 | 国产精品不卡视频 | 久久99精品久久久 | 久久精品播放 | 四虎免费最新在线永久 | 欧洲国产伦久久久久久久 | 男女精品视频 | 国产免费久久精品99久久 | 色综综| 国产精品福利久久香蕉中文 | 久久精品中文字幕第一页 | 在线播放真实国产乱子伦 | 欧美毛片免费 | 欧美一级免费片 | 中文字幕在线视频免费 | 香蕉黄色网 | 久久综合久久综合九色 | 91青娱乐在线 | 国产在线精品观看一区 | 中文无码久久精品 | 亚洲精品国产成人99久久 | 日本a视频在线 | 色偷偷亚洲第一综合 | 国产一区二区精品久久91 | 97影院秋霞国产精品 | 99尹人香蕉国产免费天天在线 | 亚洲日日干| 精品综合久久久久久98 | 成人国产精品视频 | 久热国产精品视频 | 一区二区三区欧美日韩国产 | 一区二区三区亚洲视频 | 四虎国产精品视频免费看 |