【网络排查】用于接口不通,mysql,kafka等数据库介质连不上的排查

这篇文章记录生产实践中遇到的网络不通的例子

文章目录

  • 前言
  • 1. 网络协议
    • 1.1 应用层
      • 找到有问题的服务端 IP
      • 辅助排查网页慢的问题
  • 总结


前言

接口调用不同了了怎么办? 就找接口服务提供方,肯定是提供方的问题的,跟调用方有啥关系~
kafka,mysql等数据库介质或者消息中间件连不上了怎么办?找运维啊,网络问题我一开发能怎办~
这种回答对不对呢,也对也不对,说他对这样做能扯皮,说它不对,实际不利于开发工程师的成长。


那么问题来了,为啥你们的通信是不通的?
备注:接口不通,mysql,kafka等数据库介质连不上 都说通信协议的故障,那么我们都知道通信协议有7层,4层或者5层(自行百度下,他们这样划分的区别)~ 把图也贴出来:
【网络排查】用于接口不通,mysql,kafka等数据库介质连不上的排查_第1张图片

1. 网络协议

每一层都有什么手段来查询,都有哪些排查工具呢?

1.1 应用层

应用层的排查工具就太多了,谈谈 HTTP 应用的排查工具。
Chrome,它本身就内置了一个开发者工具。在 Chrome界面里按下 F12

找到有问题的服务端 IP

用户报告访问不了网站,这个网站的域名对应了很多 IP 地址,如何确定用户连的是哪个 IP 呢?

让客户(或者远程控制)启用开发者工具,在 Network 页找到主页对象,在它的 Headers部分,就能看到 Remote address,这里的 IP 就是当前连接的 IP
【网络排查】用于接口不通,mysql,kafka等数据库介质连不上的排查_第2张图片
DNS 解析的关系,下次重连就不是这个 IP了,所以每次都应该重新确认一下这个信息。

在排查公网的访问问题有用。要知道,现在流量的网站都已经上了 CDN,在全国乃至全球有数十个或者数百个 CDN 终端节点,在给访问者提供就近的服务。如果有人某个站点了,让他用开发者工具,找到他连的远程 IP,然后你再根据这个信息展开排查工作。

辅助排查网页慢的问题

访问页面感觉很慢,用开发者工具的时间统计功能,找到耗时较高的 HTTP 资
源对象,再针对性排查。到 Network 页查看这些 HTTP 对象的加载时间。
【网络排查】用于接口不通,mysql,kafka等数据库介质连不上的排查_第3张图片
这个办法排查到是哪个资源对象耗时长,更进一步的排查,“为什
么这个对象的加载时间比别的对象长",开发者工具就难以回答了。需要抓包分析,根本性地排查这类问题

总结

提示:这里对文章进行总结.

你可能感兴趣的:(tcp,网络,centos)