💥昨天掘金 Web 端突然登不上了,一次网络异常的排查记录

故事背景

昨天上午,我像往常一样打开电脑,准备刷会掘金,结果网页一直卡在登录界面,疯狂转圈圈就是不加载

我还以为是我自己电脑网络出了问题,但上百度、知乎啥的都没问题。

用手机一打开掘金,秒进!问了下同事,他们也都能正常登录。

一开始还以为是 DNS 出了点幺蛾子,我立刻祭出经典网络排障大招:

bash 复制代码
ipconfig /flushdns

刷新 DNS 配置后重启浏览器,一点用都没有,还是转圈转圈转圈...

🤔 是不是掘金在精准打击我?

我开始怀疑是不是掘金搞了什么 AB 测试,或者我成了某种「灰度用户」?

于是我在手机端打开掘金,发了个沸点,问问是不是有人也遇到这个问题。

结果还真有几个网友评论说上不去,但大部分人都没啥问题。

这时候我感觉自己可能是那万分之一被眷顾的倒霉蛋

🔍 开始排查:ping 一下 juejin.cn

等到下午4点钟都还没修复,我等不急了,看看能不能自己修复一下这个问题。先ping一下juejin.cn看看咋回事。

我再让同事帮忙ping一下,他是可以ping通的。我才意识到我们访问的是不同的节点,我ping他的地址也能ping通,我脑海里突然有一个绝妙的想法。

tips: 过一段时间ping掘金都是不同的ip,但是他的ip都能ping通,我的ip都ping不通,估计是某个集群的节点都挂了。

💡 灵机一动:改 hosts 文件!

既然我同事的 IP 能正常访问,那我可以:

  1. 拿到他 ping 通的 IP;
  2. 修改本地 hosts 文件,把 juejin.cn 指向这个 IP。

Windows 下 hosts 文件路径:

makefile 复制代码
C:\Windows\System32\drivers\etc\hosts

我加了一行:

bash 复制代码
x.x.x.222 juejin.cn

保存之后清缓存,重启浏览器,奇迹出现了

✨ 掘金网页终于可以正常访问了!

🔄 继续深挖:负载均衡的问题?

掘金 Web 后端肯定是有用负载均衡的,常见的几种策略有:

  • round-robin:轮询分发
  • ip_hash:按 IP 分发
  • weight:加权分发

我和同事的公网 IP 是一样的,那就不应该被分到不同节点。

我开始怀疑是不是用了 源端口 来参与 Hash 了。

查了下资料,像 LVS 或某些 Nginx 配置,确实可能用五元组(源 IP、目标 IP、源端口、目标端口、协议) 来决定访问哪个节点。但是每次访问HTTP请求,端口应该都是会变的,所以也不应该是端口的问题。最后怀疑大概率是用的MAC地址做HASH,因为MAC地址是不变的,所以我试了很多次都登录不了

🧠 小结:可能是某个网关节点挂了

综合判断,很可能是:

  • 掘金某个后端节点挂了;
  • 但 DNS 解析或者负载策略还会把小部分用户分发到这个挂掉的节点;
  • 所以只有"极少部分人"打不开掘金;
  • 修改 hosts 指向健康 IP 是临时绕过方法。

📢 想对掘金说几句话

如果掘金的朋友看到这篇文章:

👉 你们后端某个节点可能挂了,可以检查下是不是健康检查没生效;

👉 顺便问问,要不要给我来个内推?我都给你们排完错了😂


📌 最后

这次经历虽然只是一次小问题,但也提醒了我们:

  • 平常多学一点网络知识真的能救命;
  • 多一些动手排查的勇气;
  • 最后别忘了写成文章分享出来,也许就能帮到别人啦。

如果你也遇到类似情况,欢迎评论区一起交流!

相关推荐
uzong5 小时前
技术故障复盘模版
后端
GetcharZp6 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
桦说编程6 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研6 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi6 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
阿华的代码王国7 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Jimmy7 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
AntBlack8 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
bobz9659 小时前
pip install 已经不再安全
后端
寻月隐君9 小时前
硬核实战:从零到一,用 Rust 和 Axum 构建高性能聊天服务后端
后端·rust·github