Spring Cloud Gateway

一、简单介绍

Spring Cloud Gateway 是 Spring 生态中一个基于响应式编程模型构建的 API 网关,用于在微服务架构中统一管理外部请求的入口,并提供路由、过滤、限流等核心功能

二、简单使用方法

1、创建网关项目

2、引入网关依赖

复制代码
<dependencies>
    <!--⽹关-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-gateway</artifactId>
    </dependency>
    <!--基于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-loadbalancer</artifactId>
</dependencies>

3、编写启动类

java 复制代码
package com.linzhixin.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

4、添加 Gateway 的路由配置

server:

port: 10030 # 网关端⼝

spring:

application:

name: gateway # 服务名称

cloud:

nacos:

discovery:

server-addr: XXXXXXX

gateway:

routes: # 网关路由配置

  • id: order-service #路由ID, 自定义, 唯⼀即可

uri: lb://order-service

predicates: #路由条件

  • Path=/order/**, /feign/**

  • id: product-service #路由ID, 自定义, 唯⼀即可

uri: lb://product-service #目标服务地址

predicates: #路由条件

  • Path=/product/**

5、测试

通过网关服务访问 product-servicehttp://127.0.0.1:10030/product/1001

三、深入学习

关于 Predicate、Filter等的详细用法见官方文档

hahttps://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factoriesh

汉化文档:Spring Cloud Gateway 中文文档

相关推荐
萧瑟余晖7 小时前
Spring Batch核心模型与快速上手详解
java·spring·batch
缓慢更新7 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
AI小百科7 小时前
向量数据库:AI 的「记忆仓库」是怎么工作的
数据库·人工智能·oracle
超级架构师7 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
煎饼皮皮侠7 小时前
【设计】设计一个Web版数据库管理平台(之七):多数据库类型易扩展
数据库
Nturmoils8 小时前
MongoDB迁移之后,Spring Data 和 Hibernate 各自接哪类请求
数据库
逃逸线LOF8 小时前
为什么需要Actuator进行静态检查
spring cloud·eureka
画中有画8 小时前
在自动化脚本中操作本地数据库
数据库·oracle·自动化
叼烟扛炮8 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Decay__8 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构