SpringCloud Gateway集成Alibaba Nacos实现动态路由配置

Nacos集成spring cloud gateway 今天使用Nacos集成spring cloud gateway,记录一下 最开始我创建了一个module :cloud-gateway,并且在pom文件里配置这样(部分代码截取): <parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> 阅读详情

 SpringCloud Gateway的核心概念

SpringCloud Gateway是Spring官方最新推出的一款基于SpringFramework5,Project Reactor和SpringBoot 2之上开发的网关。
它与第一代网关Zuul不同的是:gateway是异步非阻塞的(netty + webflux实现);zuul是同步阻塞请求的
Gateway由三大组成部分,分别是路由、断言、过滤器。

谓词Predicate

谓词Predicate对于熟悉Java8函数式编程的开发者来说并不会陌生,这里不做累述。简单地理解,predicate在gateway中是路径相匹配的进行路由。

静态路由配置与动态路由配置

静态路由的配置

静态路由配置写在配置文件中(yml或者properties文件中),端点是:spring.cloud.gateway

静态路由的缺点非常明显,每次改动都要重新部署网关模块。

动态路由配置

路由信息在Nacos中维护,可以实现动态变更

Gateway集成Alibaba Nacos实现动态路由配置

第一步:启动nacos,创建配置文件,如下图所示:

具体的配置信息如下:

[
    {
        "id": "e-commerce-nacos-client-imooc",
        "predicates": [
            {
                "args": {
                    "pattern": "/imooc/ecommerce-nacos-client/**"
                },
                "name": "Path"
                }
         ],
         "uri": "lb://e-commerce-nacos-client"
    }
]
复制代码

第二步:创建Gateway工程

引入的依赖有:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.3.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
复制代码

bootstrap.yml的配置如下:

server:
  port: 9001
  servlet:
    context-path: /imooc

spring:
  application:
    name: e-commerce-gateway
  cloud:
    nacos:
      discovery:
        enabled: true # 如果不想使用 Nacos 进行服务注册和发现, 设置为 false 即可
        server-addr: 127.0.0.1:8848 # Nacos 服务器地址
        namespace: fa2e39fc-7e9b-4b8c-bd35-53543d2e1d8a
        metadata:
          management:
            context-path: ${server.servlet.context-path}/actuator
    # 静态路由
  #    gateway:
  #      routes:
  #        - id: path_route # 路由的ID
  #          uri: 127.0.0.1:8080/user/{id} # 匹配后路由地址
  #          predicates: # 断言, 路径相匹配的进行
Gateway基于Nacos动态路由实现 Gateway Nacos 动态路由 阅读详情

相关推荐

springboot使用Gateway搭建网关服务及Nacos实现动态路由

springboot使用Gateway搭建网关服务及实现动态路由

lockie的博客 6121

【Spring Cloud Alibaba 温故而知新】(四)SpringCloud Gateway 第二代微服务网关

目录 7.1.1 第二代微服务网关组件 - Gateway 7.1.1.1 Gateway 核心概念 认识 SpringCloud Gateway 是什么? SpringCloud Gateway 是 Spring 官方最新推出的一款基于 SpringFramework 5,Project Reactor 和 SpringBoot 2 之上的开发网关 它与第一代网关 Zuul 不同的是:Gateway 是异步非阻塞的(Netty + WebFlux 实现);Zuul是同步阻塞请求的,有数据证明 Gate

Eddie'Blog 475

Spring Cloud Alibaba实战:从零搭建Nacos+Gateway+OpenFeign微服务架构(2024最新版)

本文提供了一份2024年最新的Spring Cloud Alibaba实战指南,详细讲解如何从零搭建基于Nacos、Spring Cloud Gateway和OpenFeign的现代化微服务架构。内容涵盖架构选型、环境准备、服务注册发现、声明式服务调用、API网关配置以及Nacos动态配置管理,并适配Spring Boot 3.2与JDK 17,帮助开发者构建高效、可维护的云原生应用。

weixin_29275257的博客 347

spring-cloud尚硅谷笔记

Nacos 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos官网下载最新的 Nacos 安装包,本文使用 Nacos-2.5.1下载好最近的安装包后,解压到非中文目录,进入bin目录,执行启动命令。OpenFeign,是一种 Declarative REST Client,即声明式 Rest 客户端,与之对应的是编程式 Rest 客户端,比如 RestTemplate。

weixin_52568554的博客 457

新能源车主必看:用高德API+充电站数据制作跨城出行充电规划工具(附完整代码)

本文为新能源车主提供了一份详细的跨城出行充电规划工具构建指南。通过整合高德地图API与充电站数据,手把手教你使用Python开发一个智能规划系统,可自动规划路线并推荐沿途充电站,有效缓解里程焦虑。文章包含完整代码、核心算法解析及可视化实现,帮助车主实现个性化、高效的出行规划。

tgb3456789的博客 898

Raptor码(一):2007RFC5053标准编解码学习

RFC 5053 标准

a_beatiful_knife的博客 3492

RDP Wrapper失效了?别慌!教你如何手动为Windows 10/11最新版本添加rdpwrap.ini配置

本文详细介绍了当RDP Wrapper在Windows 10/11最新版本中失效时,如何手动添加rdpwrap.ini配置以恢复多用户远程桌面功能。通过获取最新配置文件、安全替换配置的完整流程以及高级手动配置技巧,帮助用户解决[Not support]问题,确保远程工作流程不受系统更新影响。

weixin_30765577的博客 624

如何实现MCGS与S7-200SMART PLC以太网多台通信控制?

第九步:(设备工具箱—设备管理—鼠标依次点击通用TCP/IP父设备—西门子_ Smart200到设备窗口里面去)数据类型:第0位(指PLC地址变量小数点后面的位数,例如我地址是M0.0,那么在数据类型应填写通道的第00位)第十步:(鼠标双击打开通用TCPIP父设备0--[通用TCP/IP父设备]进入通信配置)通道地址:0(指小数点前面起始字节的地址,例如我地址是M0.0,那么应在通道地填写0)。第七步:(选择通用TCP/IP父设备,点击新增,右侧选定设备就会自动添加进去。

u010670857的博客 6713

姿态传感器/陀螺仪之LSM6DS3TR-C应用原理图设计

LSM6DS3TR-C是一款由意法半导体(STMicroelectronics)推出的高性能、低功耗的惯性测量单元(IMU),集成了3轴加速度计和3轴陀螺仪,用于测量加速度、角速度以及设备的姿态和运动。

corlin6688的博客 869

Superpowers与 OpenSpec、Spec Kit 对比

按照官方仓库定义,Superpowers 是一套构建在 composable skills 之上的完整软件开发工作流。它不是单纯的 prompt 集合,而是把一系列工程动作做成默认流程。一个需要明确的点:Superpowers 并不只偏 Claude Code,根据。

人不风流枉少年 1812

uniapp:实现扫描二维码+自定义扫描框+扫一扫功能,支持扫码识别二维码、条形码(条码)、微信/支付宝等二维码功能,自定义扫码页面可添加按钮或文字展示布局(移动端H5网页/小程序/安卓苹果APP端)

UNI-APP实现扫描二维码,uniapp扫描条形码,uniapp实现扫一扫功能,扫码成功后跳转页面,uniApp扫描条码,uniApp-H5 使用摄像头扫码功能(扫一扫),实现手机扫描二维码并跳转全过程示例代码,用户扫码后自动跳转到链接,uniapp怎么调用扫一扫功能,uniapp实现扫一扫功能,uniapp请求相机使用权限,扫一扫权限申请,uniapp调用摄像头扫码,uniapp实现调用相机扫码,UniApp 实现扫描二维码,uniapp APP安卓苹果ios实现扫码扫一扫,Uniapp微信小程序扫描二

✅ 精选推荐文章 4708

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: SpringCloud Alibaba 实战:如何让 jwt token 主动失效?
下一篇: 工龄3年的Java开发程序员居然只能靠跳槽来涨薪?
Java架构师小森
博客等级 码龄5年 23粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值