Gateway结合nacos(lb://xxx)无效问题

Gateway结合nacos无效

版本如下:

com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2021.0.1.0

org.springframework.cloud:spring-cloud-starter-gateway:3.1.1

配置如下:

yml 复制代码
server:
  port: 7000
spring:
  application:
    name: springCloudGateway
  cloud:
    nacos:
      discovery:
        server-addr: xxx.xxx.xxx.xx:8848
      username: xxx
      password: xxx
    gateway:
      routes:
        - id: product_route
          uri: lb://nacos-consumer
          predicates:
            - Path=/consumer/**
          filters:
            - StripPrefix=1

我测试过了,使用http://localhost:xxx的方式就可以访问

lb:和http:的区别就在于,一个是固定的访问地址,一个是使用负载均衡去访问,所以问题出来负载均衡这里

在网上找到解决方案说是添加一个loadBalancer依赖就好了

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

问题解决!但为什么我添加一个负载均衡依赖就好了?

我科学上网了一下找到了这个为什么会这样,如下:
在Spring Cloud Gateway 2.x及以上版本中,官方文档已经明确表示不再支持Ribbon作为默认的负载均衡器实现。因此,从这个版本开始,Spring Cloud Gateway不再提供自带的负载均衡器组件。
不过,Spring Cloud Gateway可以与Spring Cloud LoadBalancer集成来实现负载均衡的功能。Spring Cloud LoadBalancer是一个独立的模块,它提供了一个基于服务实例列表的负载均衡器实现,可以与Spring Cloud Gateway和其他Spring Cloud组件一起使用。

也就是说如果你想要在Spring Cloud Gateway中使用lb://service-name这种形式的URI来访问Nacos注册中心的服务,那么需要在依赖中引入Spring Cloud LoadBalancer的相关依赖。

相关推荐
骚戴10 小时前
AI架构指南:大型语言模型 (LLM) API 的通用集成与企业级配置(2025年)
人工智能·大模型·llm·gateway·api
yangmf204010 小时前
INFINI Gateway 助力联想集团 ES 迁移升级
大数据·数据库·elasticsearch·搜索引擎·gateway·全文检索
梵得儿SHI2 天前
SpringCloud 核心组件精讲:Spring Cloud Gateway 网关实战-路由配置 + 过滤器开发 + 限流鉴权(附场景配置模板)
java·spring·spring cloud·gateway·搭建基础网关·现静态/动态路由配置·全局/局部过滤器
JH30734 天前
Gateway 中能写 Servlet Filter 吗?
servlet·gateway
黄俊懿4 天前
【深入理解SpringCloud微服务】Gateway源码解析
java·后端·spring·spring cloud·微服务·gateway·架构师
东东的脑洞4 天前
【面试突击】Spring Security + OAuth2 密码模式实战:Gateway 作为网关与资源服务器,Auth 作为认证服务器(完整认证链路解析)
spring·面试·gateway
JavaBoy_XJ5 天前
spring-gateway配置详解
spring·bootstrap·gateway
黄俊懿7 天前
【深入理解SpringCloud微服务】Gateway简介与模拟Gateway手写一个微服务网关
spring boot·后端·spring·spring cloud·微服务·gateway·架构师
Hello.Reader7 天前
Flink SQL 的 JOB 管理语句SHOW / DESCRIBE / STOP(SQL CLI & SQL Gateway 实战)
sql·flink·gateway
骚戴9 天前
n1n:从替代LiteLLM Proxy自建网关到企业级统一架构的进阶之路
人工智能·python·大模型·llm·gateway·api