1、環(huán)境/工具
- Spring Boot 2.6.13
- Spring Cloud Gateway
Spring Cloud Gateway 官網(wǎng)中文文檔:
https://www.springcloud.cc/spring-cloud-greenwich.html#gateway-starter
主要用來(lái)做大規(guī)模API管理涩蜘,包括請(qǐng)求限流、過(guò)濾客给、鑒權(quán)等,比Zuul網(wǎng)絡(luò)性能好。
2肢簿、原理
一次請(qǐng)求首先到達(dá)網(wǎng)關(guān),判斷是否滿足predicates條件蜻拨,滿足則進(jìn)行路由過(guò)濾池充,最后到達(dá)指定服務(wù)
3、步驟
可以新建一個(gè)微服務(wù)moudule, 引入依賴:
引入openFeign和loadbalancer 保證可以訪問(wèn)其他微服務(wù)缎讼。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
添加注冊(cè)發(fā)現(xiàn)注解
application.yml
啟動(dòng)應(yīng)用可以看到gateway使用網(wǎng)絡(luò)性能更好的netty作為服務(wù)器收夸,不是tomcat
驗(yàn)證:可以看到跳轉(zhuǎn)到指定的路徑
4. 注意事項(xiàng)
- predicates 做路徑重寫(xiě)時(shí)存在優(yōu)先級(jí),更精確的一般放前面血崭,如 /api/login/** 應(yīng)該配置在/api/** 的前面