nacos 整合gateway 出现的问题和解决

本文介绍了在Spring Boot项目中,将Nacos与Gateway整合过程中遇到的问题及详细的解决步骤,通过配置代码实现了动态路由的管理。
 整和gateway和nacos出现的一些问题
 1,jar包版本不对,springcloud 和springboot的版本不一致
 2,springboot和nacos的版本不一致  spring-cloud-starter-alibaba-nacos-discovery2.2.2 版本  spring-cloud-starter-gateway2.2.1版本没有问题,
 但是spring-cloud-starter-gateway若用2.2.2 就报错
 3,出现的nacos不能发现getway的问题 原因是yml的配置出错  discovery:  locator:  enabled: true  # 让gateway可以发现nacos中的微服务
 如果没有写上面的配置则不能发现gateway的配置 但是若是使用 uri: http://localhost:8762  这样的配置还是可以运行
 4,predicates:  - Path=/get/**   get在这里表示服务器的地址,所以filters: - StripPrefix=1 必须要写,否则不能发现
 5, - id: gatewayone  当多个服务的时候的id可以随便写,但是id不能重复,否则会错

另外还可以通过config配置通过下面的代码来实现配置

 

  @Bean
   public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
      return builder.routes()
            //增加一个path匹配,以"/gateway/hello/"开头的请求都在此路由
            .route(r -> r.path("/get/**")
                  //表示将路径中的第一级参数删除,用剩下的路径与provider的路径做拼接,
                  //这里就是"lb://provider/hello/",能匹配到provider的HelloController的路径
                  .filters(f -> f.stripPrefix(1)
                        //.filter(new LimitFilter(10,1, Duration.ofSeconds(1))) //限流设置
                        //在请求的header中添加一个key&value
                        .addRequestHeader("extendtag", "geteway-" + System.currentTimeMillis()))
                  //指定匹配服务provider,lb是load balance的意思
                  .uri("lb://nacosserver")).
                  //.uri("http://localhost:8762")).
            build();
   }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值