spring cloud alibaba 学习(二十七)整合 spring cloud gateway


前言

spring cloud gateway 是基于Spring5.0+SpringBoot2.0+WebFlux,是非阻塞异步的框架,为微服务架构提供了简单有效的统一的API路由管理。


一、概念

1、RouteDefinition
路由的元数据信息,包含路由id、目标uri、断言元数据信息PredicateDefinition、过滤器元数据信息FilterDefinition 等,可以通过配置文件配置。

2、Route
路由,包含路由id,目标uri,断言AsyncPredicate和过滤器GatewayFilter等信息,数据时由RouteDefinition而来。

3、AsyncPredicate
用于匹配路由信息,请求信息与断言相匹配则进行路由。

4、GatewayFilter
网关过滤器,可以在请求被路由前或者之后对请求进行一下处理。

二、环境

1、引入依赖

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

2、配置信息

server.port=9003
spring.application.name=gateway
spring.cloud.nacos.discovery.server-addr=172.16.10.159:8848

# gateway为每一个服务创建了路由,以服务名开头的请求路径转发到对应的服务
spring.cloud.gateway.discovery.locator.enabled=true
# 将请求路径的服务名变成小写
spring.cloud.gateway.discovery.locator.lower-case-service-id=true
# 路由id标识
spring.cloud.gateway.routes[0].id=gateway-server
# lb其实是loadbalance缩写,server 是路由的服务
spring.cloud.gateway.routes[0].uri=lb://server
# 断言,请求路径以server开头,会使用该路由
spring.cloud.gateway.routes[0].predicates[0]=Path=/server/**
# 跳过固定前缀
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1

3、server 端配置

(1)配置文件

server.port=9004
spring.application.name=server
spring.cloud.nacos.discovery.server-addr=172.16.10.159:8848

(2)controller

@RestController
@RequestMapping("/server")
public class ServerController {

    @GetMapping("/test/{id}")
    public Object test(@PathVariable String id) {
        Map map = new HashMap();
        map.put("server", id);
        return map;
    }
}

三、测试

访问gateway 地址加上 server服务端的路径后缀

http://192.168.100.73:9003/server/server/test/100

结果:

{
    "server": "100"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_lrs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值