admin管理员组

文章数量:1633926

文章目录

    • 背景
    • 动态路由实现方式
      • 1. 增加Nacos Config的Jar包依赖
      • 2. 增加系统级引导配置
      • 3. 实现动态路由的数据加载
      • 4. 添加Nacos路由配置
      • 5. 动态路由测试
    • 小结

背景

  • 在上篇文章《Spring Cloud Alibaba生态探索:微服务API网关》中,我们基于Spring Cloud Gateway实现了微服务统一网关。
  • 但作为所有微服务请求的入口,路由规则的静态设置是满足不了生产环境的需求的,所以实现动态路由是非常有必要的。
  • 本文将会介绍 Spring Cloud Gateway及Nacos实现动态路由的方法。

动态路由实现方式

  1. 路由信息不再配置在配置文件中,将路由信息配置在Nacos的配置中。
  2. 在服务网关Spring Cloud Gateway中开启监听,监听Nacos配置文件的修改。
  3. Nacos配置文件一旦发生改变,则Spring Cloud Gateway重新刷新自己的路由信息。

1. 增加Nacos Config的Jar包依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache/POM/4.0.0" xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache/POM/4.0.0 https://maven.apache/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>spring.cloud</groupId>
    <artifactId>gateway</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gateway</name>
    <description>Spring Cloud Gateway</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
        <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
   

本文标签: 路由生态动态CloudSpring