javascript
Spring Cloud Alibaba - 23 Gateway初体验
文章目錄
- 概述
- 網(wǎng)關(guān)的作用
- 官網(wǎng)
- 來個栗子
- step1 搞依賴
- step2 搞注解 (gateway沒有注解)
- step3 搞配置
- 其他工程 & 驗證
- 參數(shù)解讀
- spring.cloud.gateway.discovery.locator.enabled
- spring.cloud.gateway.enabled
- 轉(zhuǎn)發(fā)過程
- 源碼
概述
Spring Cloud Gateway是Spring Cloud官方推出的第二代網(wǎng)關(guān)框架,用于取代Zuul網(wǎng)關(guān)。
基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x
基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x
基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x
重要的事情說三遍。
網(wǎng)關(guān)的作用
網(wǎng)關(guān)常見的功能有路由轉(zhuǎn)發(fā)、權(quán)限校驗、限流控制等作用
官網(wǎng)
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/
來個栗子
創(chuàng)建一個gateWay的工程 artisan-cloud-gateway
step1 搞依賴
<dependencies><!--gateway --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!--actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies>step2 搞注解 (gateway沒有注解)
寫個服務(wù)發(fā)現(xiàn)的注解(高版本也可以不寫),gateway沒有注解
step3 搞配置
server:port: 8888#gateway注冊到nacos上的服務(wù)名稱spring:application:name: api-gatewaycloud: #nacosnacos:discovery:server-addr: 1.117.97.88:8848gateway: #gatewaydiscovery:locator:enabled: false # 是否可以通過微服務(wù)的名稱直接調(diào)用接口 【默認值false, 建議保持false】enabled: true # 是否開啟服務(wù)網(wǎng)關(guān) management:endpoints:web:exposure:include: '*'endpoint:health:show-details: always # 打開端點詳情其他工程 & 驗證
分別啟動
artisan-cloud-gateway 【8888】
artisan-cloud-gateway-order【8080】
artisan-cloud-gateway-product【8084】
再確認下【artisan-cloud-gateway】的配置文件
通過網(wǎng)關(guān)地址 端口為8888訪問訂單微服務(wù)
我們調(diào)整下參數(shù),開啟拉取nacos配置
重啟應(yīng)用,重新訪問
如果我們 禁用網(wǎng)關(guān)呢?
重啟應(yīng)用,重新訪問
參數(shù)解讀
spring.cloud.gateway.discovery.locator.enabled
啟網(wǎng)關(guān)拉取nacos的服務(wù) 即是否可以通過微服務(wù)的名稱直接調(diào)用接口 【默認值false, 建議保持false】
開啟了,容易暴漏后端服務(wù)
spring.cloud.gateway.enabled
網(wǎng)關(guān)的開啟與關(guān)閉 , 需要開啟
轉(zhuǎn)發(fā)過程
我們簡單看下 spring.cloud.gateway.discovery.locator.enabled 設(shè)置為true后, 網(wǎng)關(guān)是如何處理這些請求的 ,后面再解讀源碼
源碼
https://github.com/yangshangwei/SpringCloudAlibabMaster
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Alibaba - 23 Gateway初体验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Cloud Alibaba
- 下一篇: Spring Cloud Alibaba