问题描述

在分布式服务中,使用GateWay网关进行服务请求路由的统一管理,它是系统对外的唯一入口。为了让网关能正常发送调用其他服务,我使用到了Nacos服务注册中心。

正是这样出现了,我通过服务端口,能正常访问接口返回数据,通过网关访问有时可以有时不行的情况(也就是出现503的状态码反馈)。

HTTP状态码503指的是web服务器不能处理HTTP请求。原因大致如下:

  • 站点遭到攻击,在超过限制时报503错误,待攻击停止就可以恢复了
  • 站点规模较大,并发请求过多,这种建议修改优化程序或需要升级更高类型主机
  • 程序有错误,在短时间内产生多次工作进程崩溃,会因为IIS7的快速肚胀防护功能而关闭程序池
  • 站点提供下载,当宽带超过限制时会报错,需要停止下载功能,后者升级主机解决

那么根据上面这四个原因我还是没有分析出为什么会出现这个问题。于是我开始一步步排查问题。

  1. 我首先认为是我GateWay网关,拦截配置的问题,可是我的情况是有时出现503,有时又能通过网关正常访问,所以暂时排除了这种情况。

  2. 是否本身的单体服务有问题,但是通过postman的测试,通过服务的端口访问接口,都能正常返回数据。所以也暂时排除这种情况。

  3. Nacos注册中心的问题。

那基本能确定是Nacos注册中心的问题了,但也不完全是Nacos的锅。

再次分析:

F12查看Network,请求的发送情况,发现OPTIONS预检请求是正常发送的,但发送真正的请求的时候出现了503的错误。如下图:

我们可以通过错误提示很清晰的看到message的反馈,就是发现不了我的product服务。

和我们判断的没错是nacos的问题,于是我进入nacos查看服务是否注册成功。

这里就发现了一个很奇怪的现象,正常的我们刷新nacos的界面服务是不会掉的,但是我的product商品服务,一会有一会儿又没有,刚开始我发现了这个问题,但没有引起注意,也就导致这个问题之前一直没有得到解决。

解决

于是,我抱着再试一试的心态,将该服务的端口号从8001改为了8010,也就是改为了其他的数(或者修改一下服务名),这个服务就在nacos注册中心稳定了。(前提是确保你的服务Nacos配置没有问题)

这其实是一个很容易解决的bug,但是之前网上找过都没有得到好的解决。

让我想到了idea在使用过程中确实存在一些bug,常见的就是

  1. 创建继承maven项目数量多了之后,项目结构就会不一样,需要手动修改,或者更换项目名才能解决。

  2. 使用springboot的过程中有些端口无法使用,这种无法使用是由于idea和系统的问题,你能正常跑通你的项目,但是这个项目你无法通过客户端访问,只要访问就是500服务器错误。


同时这里强调,不是因为什么端口被占用的问题,端口如果被占用,连服务都是无法启动的,所以这就是一些简单又很坑人的地方。

如果您有幸看到了这篇文章,希望对您有帮助,解决到您的问题。

GateWay网关访问服务出现503的问题解决相关推荐

  1. gateway网关请求服务的400错误

    gateway网关请求服务job-service时,前端的请求结果如下: Request URL: http://127.0.0.1:8080/job/task/xxx.do?pageindex=1& ...

  2. gateway网关_使用Sentinel实现gateway网关及服务接口限流

    点击关注"阿甘正专",设为星标 奇迹每天都在发生,等你而来 1.Sentinel 简介 1.1 Sentinel是什么: 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.S ...

  3. SpringCloud + Consul服务注册中心 + gateway网关

    1  启动Consul 2  创建springcloud-consul项目及三个子模块 2.1 数据模块consul-producer 2.2 数据消费模块consul-consumer 2.3 ga ...

  4. 【硬核】Spring Cloud Gateway(网关)

    概念 Gateway是基于异步非阻塞模型上进行开发的,有springcloud团队开发.用来代替Zuul. 近几个月收集了收集了N份精校过的PDF版的Java八股文大全,涉及Java后端的方方面面,分 ...

  5. 解决SpringCloud的Gateway网关无法访问服务的静态资源

    解决SpringCloud的Gateway网关无法访问服务的静态资源 在重构项目的时候,配置gateway网关后,利用网关地址访问服务,发现服务的静态资源报了404 报错如下: gateway网关配置 ...

  6. Getaway网关访问微服务:503,Service Unavailable

    Getaway网关访问微服务:503,Service Unavailable.请求路径:localhost:1000/user/test,请求响应结果如下 {"timestamp" ...

  7. SpringCloud微服务架构之,Hystrix 熔断器,Gateway 网关

    Hystrix 概述 Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务.第三方库,防止出现级联失败(雪崩). pom依耐 <!-- hystrix -->&l ...

  8. spring cloud gateway 网关_微服务网关Spring Cloud Gateway全搞定

    一.微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS.跨域.过滤器.令牌桶算法. 在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuu ...

  9. SpringCloud Hoxton版微服务- Gateway网关

    Gateway网关 一.Gateway概念 二.三大核心概念 1.Route (路由) 2.Predicate (断言) 3.Filter (过滤) 三.工作流程图 四.工程搭建 1.新建Gatewa ...

最新文章

  1. 关于ngOptions的键值对
  2. 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅是什么原因
  3. 快钱支付与Sql Server的乐观锁和悲观锁
  4. 基于HLS流媒体协议的视频加密方案
  5. codeforces 808d
  6. 在wp中,使用NavigationService.Navigate导航页面出现错误
  7. php 强制返回,php – 我可以强制抽象类的方法返回一些东西吗?
  8. 复变函数系列(三 ) - 复变函数的积分
  9. 服务器设置客户端网页安装,网页服务器和客户端
  10. JAVA 读取txt文件内容
  11. 15年3月CCF真题2-数字排序
  12. Python100经典练习题,附答案
  13. Rdp报表 参数配置 (基于2.4.2版本 添加查询条件)
  14. Java内存模型(Java并发编程的艺术整理)
  15. OFDM-训练序列与导频
  16. 一文看懂STM32单片机和51单片机区别
  17. java清除浏览器缓存
  18. NOIP 模拟题 国际跳棋
  19. 美式期权损益图matlab,一看就懂,盈亏全在图上了,超实用的期权损益图绘制
  20. 爬虫爬取站长素材图片 (使用scrapy和imagespipeline)

热门文章

  1. 自然语言处理之词性标注
  2. Unity+高通Vuforia SDK——AR
  3. 滚动条如何设置样式和滚动条悬浮显示与隐藏
  4. redis+spring 整合
  5. 12 个适合做外包项目的开源后台管理系统
  6. r7 5800h和r7 4800h 的差别大吗
  7. 腾讯移动互联网事业群(MIG)综合分析
  8. 移动互联网应用的十项设计原则和小提示
  9. Risc-v 技术架构
  10. IDC许可证是什么证?IDC办理条件及材料