问题产生背景

在使用Spring Cloud Gateway过程中,希望配置多Routes映射不同的微服务,因为Gateway 和Zuul的访问路径不同(zuul 会带有服务service Id),造成错误。

现象表现

问题定位

  1. 认为是配置Predicate问题。
      routes:- id: after_routeuri: lb://user-centerpredicates:# 当当前时间晚于设置时间之后,才能访问# 否则得到404错误#- After=2010-01-01T18:00:00.789-07:00[America/Denver]# 当Host属于**.geekplus.com.cn或**.life-runner.com时# http://localhost:9999/** -> user-center/**# eg. http://localhost:9999/users/1 -> user-center/users/1#- Host=**.geekplus.com.cn,**.life-runner.com- TimeBetween=上午6:00,下午11:00- Path=/users/**filters:- AddRequestHeader=CompanyKey,123456- AddResponseHeader=Success,Isaac- PreLog=CustomLogKey,CustomLogValue- id: content_routeuri: lb://shared-center- After=2010-01-01T18:00:00.789-07:00[America/Denver]- Path=/share/**filters:- AddRequestHeader=CompanyKey,123456- AddResponseHeader=Success,Isaac- PreLog=CustomLogKey,CustomLogValue
  1. 认为是顺序问题
      routes:- id: content_routeuri: lb://shared-centerpredicates:- Path=/share/**- id: after_routeuri: lb://user-centerpredicates:# 当当前时间晚于设置时间之后,才能访问- TimeBetween=上午6:00,下午11:00- Path=/users/**filters:- AddRequestHeader=CompanyKey,123456- AddResponseHeader=Success,Isaac- PreLog=CustomLogKey,CustomLogValue
  1. 以为自己写错了。

    四处寻求帮助,无奈,Gateway的资料网上真的很少。还是自食其力吧,根据错误信息,查看Nacos中元数据,发现异常!

问题结论

  1. gateway 和 user-center 都进行过重启,因为重启后,服务Ip发生了变更,在服务注册中心这两个ip相同,因此可以访问。
    2,shared-center 我长时间没有重启,注册在发现中心的ip 是老的Ip,和gateway/user-center的IP不同,造成请求失败。
    具体如下:
    shared-center: 172.16.33.167
    user-center & gateway : 172.16.29.0

解决方法,重启shared-center,重新获取实例Ip,结果恢复正常!

Tips

我使用的是Spring Cloud Alibaba Nacos作为服务发现中心,在重启内容服务之后,发现中心的失败IPservice并没有被刷新,需要手动处理一下,否则依旧会调用到老的IP。

转载于:https://www.cnblogs.com/zhangpan1244/p/11592633.html

Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]相关推荐

  1. Spring Cloud Gateway面试攻略,微服务网关的作用以及案例

    微服务系列导航 第一篇:初学者如何快速入门微服务,面试前如何快速熟悉微服务 第二篇:微服务Spring Cloud Alibaba之Nacos篇, Nacos 就是注册中心 + 配置中心的组合 第三篇 ...

  2. 微服务等于Spring Cloud?一文告诉你微服务到底是什么

    作者:TIM XU 原文:https://xiaoxubeii.github.io/articles/microservices-architecture-introduction/ 1 微服务初探 ...

  3. 【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战

    系列目录 [Spring Cloud Alibaba](一)微服务介绍 及 Nacos注册中心实战 本文目录 系列目录 前言 什么是RPC? Feign和OpenFeign都是什么? HTTP调用 v ...

  4. 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战

    文章目录 前言 I.微服务与Spring Cloud II.Nacos 注册中心 III.Spring Cloud Alibaba Nacos 实战 1.新建父工程 2.新建demo-a 服务 3.新 ...

  5. Spring Cloud之(十八)微服务网关GateWay

    十八.微服务网关GateWay Zuul 1.x 是一个基于阻塞 IO 的 API Gateway 以及 Servlet:直到 2018 年 5 月,Zuul 2.x(基于Netty,也是非阻塞的,支 ...

  6. Spring Cloud Gateway之踩坑日记

    目录 一.背景 二.神秘的超时 坑一:通过SCG的GlobalFilter记录的网关处理耗时不准 坑二:reactor-netty的epoll&kqueue模式 坑三:SCG的同步更新路由信息 ...

  7. 阿里新框架发布!干掉Spring Cloud,换下Dubbo,微服务王者来了!

    目前,但凡谈及微服务技术选型,就必然会遇到一个两难的抉择,到底该采用Dubbo,还是该选择Spring Cloud呢? 当初阿里于2017年宣布重新开源Dubbo,近年来Dubbo发展速度和势头可谓是 ...

  8. Dubbo跟Spring Cloud哪个更好用?“微服务”第二代又赢了!

    5年前面试最常问的并且可以顺利拿到高薪的技能是Dubbo,2年前面试,只要你简历上有Spring Cloud项目的相关经验,肯定会打动面试官,现在呢?恐怕简历上有Dubbo和简单的Spring Clo ...

  9. Spring Cloud(十四):微服务灰度发布 --- Discovery

    灰度发布 微服务全链路灰度 全链路灰度设计思路 标签路由 节点打标 流量染色 分布式链路追踪 ThreadLocal 流量治理平台 Nacos 配置中心 全链路灰度实现 Discovery 使用 一. ...

最新文章

  1. [转载] 七龙珠第一部——第079话 金角跟银角
  2. mSystems: 中科院动物所王德华组揭示低温下野生动物肠道菌群提高存活率的机制...
  3. 微软私有云分享(R2)7-Linux虚拟机无DNS?
  4. 关于前端使用JavaScript无法实现canvas打印问题的解决
  5. axis2常用命令(wsdl2java)
  6. C语言高级编程:数组指针与数组
  7. java 插桩 工具_一个基于Eclipse的通用Java程序插桩工具.pdf
  8. java volidate_volidate 学习
  9. web端功能测试总结(一)
  10. 河津市新世纪计算机学校元旦晚会,运城最好的职中排名
  11. JAVA回调函数简单讲解 CallBack
  12. TCP 实战抓包分析
  13. Java中反射机制入门
  14. python量化策略——改进的美林时钟轮动策略(一)
  15. 基于朴素贝叶斯的垃圾邮件分类Python实现
  16. x86架构和arm架构处理器分析
  17. linux压缩文件命令_24.gzip、unzip命令详解 - 钟桂耀
  18. 模拟 nbut1225 NEW RDSP MODE I
  19. C#之WinForms入门
  20. DebugView无法显示调试信息问题

热门文章

  1. http、https比较
  2. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(二)之Introduction to Objects...
  3. 关于mysql的表名/字段名/字段值是否区分大小写的问题
  4. js中获得当前时间是年份和月份
  5. delphi XE2-新的里程碑
  6. 一步一步学List Control控件的用法(第二步)----创建第一行
  7. tar - tar 档案文件管理程序的 GNU 版本。
  8. W - Pasha and Phone CodeForces - 595B (收益颇丰的数学题
  9. Laravel中使用模型对数据进行操作
  10. 《一起》个人进展——Day06