-
Gateway的简单介绍
- Spring Cloud Gateway是Spring Cloud的一个项目,该项目是基于Spring,Spring Boot和Project Reactor等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。
- Gateway网关可以是所有微服务的统一入口,具有请求路由、权限控制、限流的功能特性
- 权限控制:网关作为微服务入口,需要校验用户是否有请求资格,如果没有则进行拦截
- 路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡
- 限流:当请求流量过高时,在网关中按照下游的微服务能够接受的速度来放行请求,避免服务压力过大
- 在Spring Cloud中网关的实现有gateway、zuul,但Zuul是基于Servlet的实现,属于阻塞式编程,而Spring Cloud Gateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能
-
那么现在我们就开始简单的搭建gateway服务
-
首先创建gateway的maven项目,并在maven的pom文件中添加依赖
1.XML<!-- Nacos依赖 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--网关--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> -
编写gateway的spring boot的启动类
1.javapackage com.app.user; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * spring boot启动类 * * @author Administrator */ @SpringBootApplication public class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); } } -
创建application.yml文件,并编写基础的配置信息以及路由规则
1.bashserver: port: 12080 spring: application: #应用的名称 name: gateway-service cloud: nacos: # Nacos Server 启动监听的ip地址和端口 server-addr: 192.168.xxx.xxx:8848 discovery: # nacos开启鉴权之后的用户名 username: nacos # nacos开启鉴权之后的用户登录密码 password: nacos gateway: # 网关的路由配置 routes: # 路由id,自定义,只要唯一即可 - id: nacos-feign-user-service # 路由的目标地址,lb就是负载均衡,后面跟服务名称 uri: lb://nacos-feign-user-service # 路由断言,也就是判断请求是否符合路由规则的条件 predicates: # 这个是按照路径匹配,只要以/users/开头就符合要求 - Path=/users/**
-
-
启动gateway-service服务,访问http://127.0.0.1:12080/users/2时,符合/users/\*\*规则,然后请求转发到uri:http://nacos-feign-user-service/users/2
如何搭建Gateway服务
upton-nan2023-12-23 3:16
相关推荐
Orange_sparkle8 小时前
Pi Agent Gateway 使用指南:给 Pi 配上可视化、可扩展的 Agent 工作台4SAPI21 小时前
企业级文档智能处理大模型 API 架构选型指南:4SAPI、硅基流动与 OpenRouter 的工程权衡4SAPI2 天前
内容生成与文本润色场景下的大模型 API 聚合网关选型指南Raas1003 天前
AI网关厂商排名?MAI Gateway(魔芋企业级AI网关)vs 开源方案全面对比4SAPI3 天前
企业级 RAG 知识库问答大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡JJJennie7774 天前
2026年大模型网关自建还是买?MAI Gateway等主流方案横评Raas1005 天前
2026年AI网关推荐?MAI Gateway(魔芋企业级AI网关)等主流方案横评4SAPI6 天前
多模型请求路由怎么设计?成本、速度和能力如何平衡Song_RsHt9 天前
Gateway(下):过滤器与统一鉴权