1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      基于Springcloudgateway定制的微服務(wù)網(wǎng)關(guān)-創(chuàng)新互聯(lián)

      在構(gòu)建微服務(wù)的架構(gòu)體系過(guò)程中,API網(wǎng)關(guān)是一個(gè)非常重要的組件。那我們應(yīng)該怎樣實(shí)現(xiàn)一個(gè)微服務(wù)API網(wǎng)關(guān),本文主要介紹Spring Cloud Gateway的功能,以及如何基于Spring Cloud Gateway定制自己的網(wǎng)關(guān)。

      專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)淥口免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

      基于Spring cloud gateway定制的微服務(wù)網(wǎng)關(guān)
      Spring Cloud Gateway
      Spring Cloud Gateway提供的是一個(gè)用于在Spring MVC之上構(gòu)建API網(wǎng)關(guān)的library,它的目標(biāo)是提供一種簡(jiǎn)單而有效的方式路由API請(qǐng)求,它提供了一個(gè)切面,主要關(guān)注:安全、監(jiān)控/metrics、彈性伸縮。
      Spring Cloud Gateway 特性:

      使用Spring Framework 5, Project Reactor 和 Spring Boot 2.0實(shí)現(xiàn);
      可以在請(qǐng)求的任何屬性上匹配路由;
      通過(guò)Predicate 和 filter 指定路由;
      集成了Hystrix 的熔斷機(jī)制;
      集成了Spring Cloud 的服務(wù)發(fā)現(xiàn)機(jī)制;
      易于編寫(xiě) Predicate 和 Filter;
      請(qǐng)求限流;
      重定向;

      定制API網(wǎng)關(guān)的目標(biāo)

      從Spring cloud gateway的官方文檔中可以查到,它主要關(guān)注于安全、監(jiān)控、彈性伸縮,但是它只是提供了開(kāi)發(fā)這些功能的基礎(chǔ),直接用于生產(chǎn)的話,用起來(lái)體驗(yàn)不是很好。各種配置都是寫(xiě)在application.yaml的配置文件中,修改起來(lái)不是很方便,每次修改都需要重啟服務(wù),有一種不需要重啟服務(wù)的方法是使用配置中心;但是這些配置(路由策略、熔斷機(jī)制、限流策略等)配置不是很好記,不滿(mǎn)足國(guó)內(nèi)軟件的要求(漂亮的配置后臺(tái))。

      安全:關(guān)于安全其實(shí)Spring cloud gateway本身并沒(méi)有任何實(shí)現(xiàn),要想實(shí)現(xiàn)網(wǎng)關(guān)的安全控制,一般有兩種方式:依賴(lài)Spring boot security實(shí)現(xiàn)基于JWT(或者OAuth3) token的認(rèn)證;另一種就是直接使用網(wǎng)關(guān)分配appId,來(lái)識(shí)別事先配置的權(quán)限。以上是API權(quán)限的控制,還有一種安全是參數(shù)防篡改的方法:對(duì)請(qǐng)求參數(shù)做簽名驗(yàn)簽名。

      API網(wǎng)關(guān)的安全目標(biāo)是,支持多種安全方式自由選擇和組合,并且可以在管理后臺(tái)配置,實(shí)時(shí)生效。

      動(dòng)態(tài)路由:意思是在線修改路由配置,并實(shí)時(shí)生效。Spring cloud gateway自身提供的路由配置方式有兩種:編寫(xiě)代碼和application.yaml中配置,在Spring cloud gateway啟動(dòng)的時(shí)候加載到內(nèi)存中,所以要修改路由的話也是需要重啟網(wǎng)關(guān)。但Spring cloud gateway提供了自定義路由RouteDefinitionRepository類(lèi)的入口,并且還監(jiān)聽(tīng)了刷新路由事件RefreshRoutesEvent。

      API網(wǎng)關(guān)的動(dòng)態(tài)路由的目標(biāo)是,支持在管理后臺(tái)配置和修改服務(wù)路由,并且實(shí)時(shí)生效。具體實(shí)現(xiàn)方式可以參考 動(dòng)態(tài)路由的實(shí)現(xiàn)方式詳解。

      熔斷、降級(jí):在分布式系統(tǒng)中這兩個(gè)特性一般是同時(shí)出現(xiàn),代表了系統(tǒng)容錯(cuò)性。Spring cloud gateway中依賴(lài)Hystrix來(lái)實(shí)現(xiàn),目前支持的是在application.yaml中配置熔斷和降級(jí)策略,這種配置方式,修改的話需要重啟網(wǎng)關(guān)。

      API網(wǎng)關(guān)的熔斷降級(jí)配置目標(biāo)是,支持在管理后臺(tái)操作:是否開(kāi)啟斷路器、熔斷策略、調(diào)整降級(jí)方案,并且實(shí)時(shí)生效。

      限流:API網(wǎng)關(guān)上一般會(huì)有大量請(qǐng)求,為了提供整體服務(wù)的可用性和穩(wěn)定性,經(jīng)常會(huì)對(duì)指定服務(wù)限流。當(dāng)請(qǐng)求量達(dá)到限流上限的時(shí)候,可以選擇拒絕服務(wù)、排隊(duì)或者降級(jí);Spring cloud gateway中依賴(lài)了redis來(lái)實(shí)現(xiàn)限流,通過(guò)KeyResolver來(lái)配置限流策略。它也存在同樣的問(wèn)題,就是修改配置需要重啟服務(wù)。

      API網(wǎng)關(guān)的限流目標(biāo)是,支持管理后臺(tái)配置限流策略,以及速率調(diào)整,并且實(shí)時(shí)生效。
      彈性伸縮:這一般是有基礎(chǔ)設(shè)施平臺(tái)提供的特性,一般的容器云平臺(tái)都是支持,實(shí)時(shí)監(jiān)控API網(wǎng)關(guān)的壓力和健康狀態(tài),自動(dòng)做出相應(yīng)的伸縮容處理。整個(gè)Spring cloud體系都是基于云原生的指導(dǎo)思想建設(shè)的,所以還是比較容易實(shí)現(xiàn)這一點(diǎn)的。

      API網(wǎng)關(guān)的彈性伸縮目標(biāo)是,支持標(biāo)準(zhǔn)的容器云平臺(tái)的部署,并且能提供平臺(tái)監(jiān)控指標(biāo)。
      監(jiān)控:監(jiān)控是一個(gè)高可用系統(tǒng)必不可少的功能,Spring cloud gateway是通過(guò)Spring boot actuator實(shí)現(xiàn)可監(jiān)控的,它可以輸出全方位的監(jiān)控?cái)?shù)據(jù),并且還支持定制監(jiān)控指標(biāo)。還通過(guò)micrometer提供了多種監(jiān)控?cái)?shù)據(jù)格式的輸出,最常用的就是prometheus。

      API網(wǎng)關(guān)的監(jiān)控目標(biāo)是,通過(guò)Actuator+Prometheus+Grafana三個(gè)工具組合來(lái)實(shí)現(xiàn)API網(wǎng)關(guān)的可視化監(jiān)控,并且配置相應(yīng)的報(bào)警。

      API文檔:一個(gè)完美的API文檔是API網(wǎng)關(guān)臉面,因?yàn)榻尤階PI網(wǎng)關(guān)的應(yīng)用(也就是API的用戶(hù))最先看到的就是API文檔,作為程序員大家都不喜歡寫(xiě)這種文檔,因此API網(wǎng)關(guān)必須能提供一種方法,方便輸出漂亮的API文檔。目前swagger ui早已在Spring cloud的后端微服務(wù)中流行開(kāi)來(lái),因此API網(wǎng)關(guān)需要將它們聚合起來(lái)。

      API網(wǎng)關(guān)的API文檔目標(biāo)是,通過(guò)聚合后端服務(wù)的swagger ui來(lái)實(shí)現(xiàn)API文檔的輸出,當(dāng)然還需要結(jié)合安全特性來(lái)控制API文檔的權(quán)限。

      實(shí)現(xiàn)一個(gè)API網(wǎng)關(guān)

      上面設(shè)定了要實(shí)現(xiàn)一個(gè)API網(wǎng)關(guān)的各種目標(biāo)(要求),并且論證了基于Spring cloud gateway實(shí)現(xiàn)它們的可行性,下面就需要依依實(shí)現(xiàn)它們了,最終你會(huì)發(fā)現(xiàn),實(shí)現(xiàn)了一個(gè)阿里云的API網(wǎng)關(guān)。

      創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。


      本文名稱(chēng):基于Springcloudgateway定制的微服務(wù)網(wǎng)關(guān)-創(chuàng)新互聯(lián)
      地址分享:http://www.ef60e0e.cn/article/dipgdj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        麻栗坡县| 青阳县| 榆社县| 安仁县| 应用必备| 疏附县| 铜鼓县| 阜阳市| 财经| 东台市| 肃北| 晋中市| 陆丰市| 天峨县| 青岛市| 江北区| 福建省| 宁强县| 虹口区| 西青区| 奈曼旗| 旌德县| 肇州县| 南溪县| 板桥市| 蓬溪县| 大庆市| 阜阳市| 宝清县| 邹城市| 乐清市| 象山县| 虞城县| 齐齐哈尔市| 蓝山县| 阳新县| 高邮市| 娱乐| 凌云县| 上饶县| 安宁市|