微服务架构之spring cloud gateway
Spring Cloud Gateway是spring cloud中起着非常重要的作用,是终端调用服务的入口,同时也是项目中每个服务对外暴露的统一口径,我们可以在网关中实现路径映射、权限验证、负载均衡、服务聚合等业务功能。
(一) 版本说明
d) spring-cloud-starter-gateway 2.0.2.RELEASE
(二) 项目设置
1. Pom文件
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.0.2.RELEASE</version> </dependency>
spring:
application:
name: gateway
cloud:
gateway:
enabled: true
routes:
#终端模块
- id: clientservice
uri: lb://CLIENTSERVICE
predicates:
- Path=/client/**
filters:
- StripPrefix=1
#回调模块
- id: callbackservice
uri: lb://CALLBACKSERVICE
predicates:
- Path=/callback/**
filters:
- StripPrefix=1
a) spring.application.name 项目名称
b) spring.cloud.gateway 所有gateway配置信息的根节点
c) spring.cloud.gateway.enabled 是否启用
d) spring.cloud.gateway.routes 路由映射,注意这里是数组
e) spring.cloud.gateway.routes[0].id 标志号
f) spring.cloud.gateway.routes[0].uri 路由映射目标路径
g) spring.cloud.gateway.routes[0].predicates 匹配规则,也是暴露的映射路径
h) spring.cloud.gateway.routes[0].StripPrefix 是否包含匹配的前缀,比如 /callback/**,如果设置为1,则只有**传递到目标路径,如果设置为0,,则callback也一并传递到目标路径,一般设置为1不传递自定义的暴露服务名称
(三) 项目运行
1. 运行项目,在注册中心即可看到gateway注册进来了,如下图所示
2. 也要把我们配置文件中配置的2个微服务已经在运行如下图所示
名称你可以改成你自己的服务名称,但记得要跟配置的映射一致。
3. 在任何一个终端输入gateway的IP:PORT/映射的服务名称/API名称,就可以看到经过网关映射后的效果
a) Client服务
b) Callback服务
这样spring cloud gateway网关就介绍完了,如果在开发中遇到问题,也可以留言共同探讨共同进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端