Spring Cloud Gateway + Alibaba:API网关实践
文章目录
第一章:API 网关是什么?
想象你管理一座大型机场,每天有上百架飞机起降。如果没有统一的塔台指挥,每架飞机都得自己找跑道、协调时间,结果肯定是混乱不堪。API 网关就像这个塔台,它的核心职责是:
- 统一入口:所有请求必须通过网关进入系统。
- 路由转发:根据目的地(服务名)分配请求到正确的跑道(服务实例)。
- 安全检查:拦截危险请求,比如没买票的乘客(非法调用)。
Spring Cloud Gateway 是 Spring 官方推出的网关框架,结合 Alibaba 生态组件,能实现更强大的流量管控。
第二章:快速搭建网关——给系统装个安检门
场景还原:
假设我们有用户服务和订单服务,现在要通过网关统一暴露接口:
- 用户服务地址:
http://localhost:8081
- 订单服务地址:
http://localhost:8082
网关的作用是将外部请求 http://网关地址/user/**
转发到用户服务,/order/**
转发到订单服务。
代码实战:基础路由配置
步骤 1:创建网关项目
在 pom.xml
中添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
步骤 2:配置路由规则
在 application.yml
中定义路由:
spring:
cloud:
gateway