• 系统架构和问题定位


    一、系统架构图和请求流程分析

    二、实践---接口调用链分析

     

    三、常见响应状态码分析

    1.403:

    一般是鉴权的问题或者鉴权相关参数不通过(案例)

    解决方案:重新切测试环境,检查环境是否切换正确

    2.404:

    客户端调用url不正确,服务端没有配置网关的location或ng的映射路径

    解决方案:检查网关的location配置,是否配置了该接口名

    3.500

    服务器内部错误(Internal server error),一般是请求的服务未启动

    解决方案:检查访问的服务器是否启动

    4.502-> Bad Gateway 错误网关

    502错误一般由于web服务器或者代理服务器错误引起的

    具体场景1:

    1.请求接口,返回502/503

    502

     

    解决方案:

    检查Location配置

    检查:

    (1)域名有没有配置这个location

    (2)转发的ip是否是对应应用的ip

    (3)应用是否正常启动

    具体场景2:A测试环境,很多接口都报502

    解决方案:

    Ping 域名,检查关联的网关公共集群,发现无法ping通域名

     ping 域名 本质上是通过dns解析到域名对应的ip(网关的ip), 然后用icmp协议进行报文传输

    原因:

    版本部署错了,导致网关集群所有机器都有问题

    具体问题场景3:测试环境,能ping通域名,域名配置的location,转发服务都是没有问题的,但是连接不上后端转发机器

    解决方案:

    1.检查域名配置的location,转发服务

    2.Ping 域名,检查关联的网关公共集群

    3.检查连接的网关集群是否正常

    产生问题原因:未关联到正确的网关集群

    申请域名的时候,A测试关联的网关是B测试环境的

    5.504-> Gateway Timeout 网关超时:表示扮演网关或者代理的服务器无法在规定的时间内获得想要的响应。

    504错误可能是后端服务执行数据库超时

    与上游服务器通信超时

    访问大流量或者内容数据量较多的网站时,打开网页偶尔就会出现504 gateway time-out

    四、其他常见的问题

    rocketmq:消息堆积

    reids:

    ◆缓存和数据库双写一致性问题

    ◆缓存雪崩问题

    ◆缓存击穿问题

    ◆缓存的并发竞争问题

    见:分布式Redis常见问题及解决方案精讲 - 知乎

    mysql:

    悲观锁和乐观锁

    悲观锁:每次读写都上锁

    乐观锁:每次获取数据,不会加锁,更新数据时,会加锁。实现方式:加版本号

  • 相关阅读:
    Python实现点击选择验证码破解
    Qt+Python多次刷新缓存的问题及项目延伸:
    Android framework开发者带你参加21天学习挑战赛活动
    Vue3.0插槽
    驱动开发:内核扫描SSDT挂钩状态
    力扣2834. 找出美丽数组的最小和
    【算法题】1718. 构建字典序最大的可行序列
    Flink 1.13 源码解析——JobManager启动流程之Dispatcher启动
    C语言从入门到精通第20天(结构体的使用)
    Yukon 学习记录
  • 原文地址:https://blog.csdn.net/lanniya152/article/details/126194756