日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gateway网关配置入门

發(fā)布時(shí)間:2024/4/13 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gateway网关配置入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

服務(wù)網(wǎng)關(guān)Gateway

API 網(wǎng)關(guān)出現(xiàn)的原因是微服務(wù)架構(gòu)的出現(xiàn),不同的微服務(wù)一般會(huì)有不同的網(wǎng)絡(luò)地址,而外部客戶端可能需要調(diào)用多個(gè)服務(wù)的接口才能完成一個(gè)業(yè)務(wù)需求,如果讓客戶端直接與各個(gè)微服務(wù)通信,會(huì)有以下的問題:

  • 破壞了服務(wù)無狀態(tài)特點(diǎn)。

    為了保證對外服務(wù)的安全性,我們需要實(shí)現(xiàn)對服務(wù)訪問的權(quán)限控制,而開放服務(wù)的權(quán)限控制機(jī)制將會(huì)貫穿并污染整個(gè)開放服務(wù)的業(yè)務(wù)邏輯,這會(huì)帶來的最直接問題是,破壞了服務(wù)集群中REST API無狀態(tài)的特點(diǎn)。

    從具體開發(fā)和測試的角度來說,在工作中除了要考慮實(shí)際的業(yè)務(wù)邏輯之外,還需要額外考慮對接口訪問的控制處理。

  • 無法直接復(fù)用既有接口。

    當(dāng)我們需要對一個(gè)即有的集群內(nèi)訪問接口,實(shí)現(xiàn)外部服務(wù)訪問時(shí),我們不得不通過在原有接口上增加校驗(yàn)邏輯,或增加一個(gè)代理調(diào)用來實(shí)現(xiàn)權(quán)限控制,無法直接復(fù)用原有的接口。

  • 以上這些問題可以借助 API 網(wǎng)關(guān)解決。API 網(wǎng)關(guān)是介于客戶端和服務(wù)器端之間的中間層,所有的外部請求都會(huì)先經(jīng)過 API 網(wǎng)關(guān)這一層。也就是說,API 的實(shí)現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,而安全、性能、監(jiān)控可以交由 API 網(wǎng)關(guān)來做,這樣既提高業(yè)務(wù)靈活性又不缺安全性,典型的架構(gòu)圖如圖所示:

    快速開始

    引入依賴

    已引入,如下。pom.xml中的依賴:

    <dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></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>

    編寫路由規(guī)則

    為了演示路由到不同服務(wù),這里把消費(fèi)者和生產(chǎn)者都配置在網(wǎng)關(guān)中

    application.yml

    server:port: 8090 spring:cloud:gateway:routes:- id: nacos-consumeruri: http://127.0.0.1:8080predicates:- Path=/hi- id: nacos-provideruri: http://127.0.0.1:8070predicates:- Path=/hello

    啟動(dòng)測試

    通過網(wǎng)關(guān)路徑訪問消費(fèi)者或者生產(chǎn)者。

    路由規(guī)則詳解

    基本概念:

    • Route:路由網(wǎng)關(guān)的基本構(gòu)建塊。它由ID,目的URI,斷言(Predicate)集合和過濾器(filter)集合組成。如果斷言聚合為真,則匹配該路由。

    • Predicate:這是一個(gè) Java 8函數(shù)式斷言。允許開發(fā)人員匹配來自HTTP請求的任何內(nèi)容,例如請求頭或參數(shù)。

    • 過濾器:可以在發(fā)送下游請求之前或之后修改請求和響應(yīng)。

    路由根據(jù)斷言進(jìn)行匹配,匹配成功就會(huì)轉(zhuǎn)發(fā)請求給URI,在轉(zhuǎn)發(fā)請求之前或者之后可以添加過濾器。

    ?

    總結(jié)

    以上是生活随笔為你收集整理的gateway网关配置入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。