spring gateway配合nacos实现负载均衡

1,注册服务到nacos

首先让所有服务都能被nacos给发现,具体教程:整合spring cloud+nacos

2,搭建gateway服务

然后我们建立一个服务,并引入spring gateway相关依赖

xml 复制代码
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

⚠️ 重要 :Gateway必须使用WebFlux模型,若项目中存在spring-boot-starter-web依赖,需移除:

webflux和webmvc两套系统是冲突的。

3,配置路由规则

我们在配置文件中写上相应的路由配置,假设我们已经配置了一个名为demo的服务

yml 复制代码
    gateway:
      routes:
        - id: demo
          uri: lb://demo
          predicates:
            - Path=/demo/**
          filters:
            - StripPrefix=1

其中,lb: 这个配置代表负载均衡,StripPrefix 代表要去掉的地址数,意味着在我进行路由转发的时候要去掉/demo。

4. 多实例负载均衡测试

接下来我们在idea里面找到服务列表,右键现有demo服务->编辑所选配置->修改选项->允许多个实例

再编辑这个实例的配置,用同样的找到添加虚拟机选项设置,并写上-Dserver.port=新端口号,我们就有两台同样的服务了。

我的网关服务部署在8888端口,我们提前写好相关接口/user/test

接下来我来访问4次http://localhost:8888/demo/user/test

可以看到两台服务各打印了两次

相关推荐
fundoit5 小时前
为什么需要 Access Token 和 ID Token 两个令牌
java·spring·架构·github·oauth2
鱼宵6 小时前
Spring AI 流式输出:Flux + SSE 打字机,回答不再干等三秒
java·人工智能·spring·sse·springai·流式输出
小鹿的周先生7 小时前
第19章-Agent
java·spring·ai
步行cgn8 小时前
MySQL 报错:Access denied for user ‘root‘@‘localhost‘ 详解
java·数据库·spring
鱼宵9 小时前
Spring AI 生产化改造:记忆落 Redis、向量落 ES,重启再也不丢
人工智能·redis·spring·elasticsearch·springai
Wang's Blog9 小时前
Java框架 SpringCloud 快速入门: Nacos 配置热更新
java·spring·spring cloud
天空鸟_时光不老10 小时前
06-给AI流程加一道人工闸门
java·人工智能·spring boot·后端·spring·spring cloud·架构
阿俊-全栈开发11 小时前
LikeShop单商户Java商城如何从容承接高并发流量?
java·开发语言·spring boot·spring·系统架构
天空鸟_时光不老11 小时前
01-我不转Python把AI塞进Java里
java·人工智能·spring boot·后端·spring·spring cloud·架构
桃西西呀11 小时前
Spring AI Alibaba 之四:拆开 ReactAgent 的图,看 ReAct 循环怎么拼出来
人工智能·spring·llm