logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

项目创建

依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

单Gateway配置实例

server.port=9010
spring.application.name=geteway
# 路由ID,命名要转发到的服务
spring.cloud.gateway.routes[0].id=order_route
# 路由地址,需要转发到什么地方
spring.cloud.gateway.routes[0].uri=http://localhost:9001
# 断言规则,将带有order-service的请求转发
spring.cloud.gateway.routes[0].predicates[0]=Path=/order-service/**
# 过滤转发后中的地址带order-service关键字
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1

这里只做测试用,转发地址写死,不利于维护,需要集成Nacos

集成Nacos

依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置

server.port=9010
spring.application.name=geteway
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# 路由ID,命名要转发到的服务
spring.cloud.gateway.routes[0].id=order_route
# 路由地址,需要转发到什么地方 lb:使用本地负载均衡策略
spring.cloud.gateway.routes[0].uri=lb://order-service
# 断言规则,将带有order-service的请求转发
spring.cloud.gateway.routes[0].predicates[0]=Path=/order-service/**
# 过滤转发后中的地址带order-service关键字
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1

也可以只用服务名方式,减少配置,但是不推荐,功能不全

# 简写方式,使用服务名作为转发
spring.cloud.gateway.discovery.locator.enabled=true

断言工厂

Spring Cloud Gateway 内置的路由断言工厂类

项目创建
单Gateway配置实例
集成Nacos
断言工厂