基于Nacos整合Cloud Gateway

之前Nacos的项目老早就搭好了,一直往里面塞些流水的管理接口,突发想搞一些别的组件,让项目完整起来。
欧克,先上版本:

  • SpringBoot 2.3.2
  • SpringCloud H.SR8
  • CloudAlibaba 2.2.5
    开始搭

1. 先搞模块,跑起来

在基本的Nacos上添加Gateway模块,加依赖,如图
在这里插入图片描述
Nacos的,Gateway的,还有要在Nacos客户端作配置的…
加启动类,这个要比正常的多加一个注解,@EnableDiscoveryClient,字面意思嘛,发现服务的。好,启动,成功!Nice
请添加图片描述

2. 写配置,本地跑

当然,写之前还是要看看注册上去没,打开你的Nacos看看,服务列表有没有这玩意。
在这里插入图片描述
是的,我有,啊哈哈哈
重点来了,之前写配置的时候用的是application.yml,现在不用这个,级别有点低的,咱用bootstrap.yml,这个要先加载,来的快。

spring:
  application:
    name: gateway-service
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848       #nacos中心地址
        file-extension: yaml              # 配置文件格式

这几个都是必要的,一个名字,一个环境,还是config的配置,另外再说下,如果想要配的端口不是默认的8080,也要在这里写上。
我们在Nacos端打开配置管理的配置列表,右上角有一个小加号,点它
在这里插入图片描述
注意几个点:

  • Data ID:之前写的名字.之前写的文件格式
  • Group: 暂时默认就好,如后续需要不同分组再调整
  • 配置格式: 和之前写的保持一致,最好是yaml和properties
  • 配置内容: 除了yml之外的所有配置都丢进去
    好,开始写配置内容
    在这里插入图片描述
    最简单的一种写法了,需要先说明下,uri的 lb:// 是一种固定写法,后面跟上别的服务的ApplicationName即可,它会自己去注册中心找到。
    别的不管,先跑,跑起来是王道,鼠标往下走,找到发布,点它。
    在这里插入图片描述
    有了,去请求一下。
    在这里插入图片描述
    看完整地址,前面的框是网关,后面的是原本的接口。我的端口是9099,后面跟的order是什么,再看一遍上面的配置
predicates:
   - Path=/order/**

这里是用了通过请求路径匹配校验,就是只有开头是order才会转发到正确的地址,那会有一个疑问,加上这个不是接口就错了嘛,是的,确实错了,多了东西就要把它去掉,再看配置

filters:
   - StripPrefix=1                       # 转发过滤前缀个数

看到了吧,过滤前缀的个数,这时候,不就把前面多出来的order过滤掉了嘛。
举个例子:原本的接口是 order/createOrder,加上Path校验变成了order/order/createOrder,所以上面看到的请求地址就是这样,再过滤一下前缀,实际上还是调的原本的接口,这样就没错了,这个也是为了区分不同服务的地址,这样就可以根据服务去做到统一的域名,一目了然。

最后,如果需要用到别的断言及过滤器,从官方文档上找找看,写的很详细
Spring Cloud Gateway 感谢!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值