突发,CSDN 崩了!程序员们开始慌了?
继前两天 B 站雪崩事件之后,国内最大的程序员站点 CSDN 居然也翻车了!
话说 CSDN 在程序员届的知名度甚至大于 B 站,我估计没有朋友没用过吧,来,先请大家用 4 个字来形容 CSDN _ _ _ _。
我先来一个:广告护体!
我对 CSDN 可以说是又爱又恨。里面有无数 Bug 解决方案,虽然答案都差不多,甚至怀疑网站内搞了复制粘贴大赛;还有各种资料可以下载,虽然大多数是把免费的项目搬运过来收费卖;最重要的,广告多到让人怀疑人生,有时候比正片儿内容还多。
事故现场
回顾一下事故,今天早上 10 点多,CSDN 突然崩了。主页能正常打开,但只要点进官方域名下的文章,比如blog.csdn.net/csdnnews/article/details/xxx,全都是 404 Not Found,页面直接白给,但是推荐内容竟然能倔强地完整展示!

而个人域名下的文章,比如鱼皮的个人主页 liyupi.blog.csdn.net/article/details/xxx,却能正常访问。到了 11 点多,系统陆续恢复,响应速度还算及时。
技术分析
下面进入事故分析时间,作为一名专业程序员,说说我的看法。
首先,主页没事,只有文章详情页 404,说明不是服务器全挂了,而是 路由配置 或者 反向代理 出了问题。
出现 404 的常见原因无非就这么几种:
反向代理配置失误。访问 CSDN 文章详情页时,要经过一层反向代理(比如 Nginx、Apache),由它来决定请求该转发到哪个后端服务。如果反向代理的路由配置出错,比如某条规则失效、配置被误删、热更新失败,就会导致对应域名下的文章路径都找不到目标服务,直接返回 404。
CDN 异常。CSDN 这种大站肯定是会用 CDN 内容分发网络做加速的,如果 CSDN 节点缓存失效、回源失败,或者缓存了错误的 404 页面,也会导致大面积 404。
数据库等存储服务异常。如果 CDN 失效,或者文章没被缓存,就要到数据库中查询文章信息,如果数据库崩了,数据就没法正常读取。
权限问题。比如 Web 应用防火墙或其他安全策略不小心拦截了官方域名下的文章请求,也会导致 404 或访问异常。这叫什么,大水冲了龙王庙,自己人不认自己人。

而个人域名下的文章没受影响,说明这部分服务是独立部署的,或者走了不同的路由、缓存策略,到独立存储到其他数据库中。而且只要不是服务挂掉,上面这些问题都很好修复,回滚一下配置到正常的版本、或者清一清缓存就好了,从这个修复时间上来看,也是合理的。
总结
最后随便说两句,CSDN 这次故障虽然时间不长,但是范围很大,毕竟博客网站核心不就是看文章么?我看交流群里的吐槽,发现还是有很多程序员朋友慌了的,毕竟哪怕平时吐槽它广告多、质量低、答案水,真到用的时候,还是得真用一下的。
话说最近故障有点多啊,好像博客园、还有知名的程序员学习网站 编程导航 前两天也崩了,不知道是不是要过节了,程序员朋友们最近不好过呀。
最后,别忘了点赞关注鱼皮,下次有事故出现,我继续带你第一时间吃瓜、聊技术!
更多编程学习资源
突发,CSDN 崩了!程序员们开始慌了?的更多相关文章
- 程序猿尤其是.NET程序员所需要注意的网站资源
我觉得一个程序员 需要 对 技术 和 行业 两方面同时具有极大热情和注意力才能让自己在一个新的台阶. 有些程序员就是对技术有着极大的热情但是行业完全不注意,这样我感觉只能成为一个专家,并不能让自己真正 ...
- [置顶] 程序员必知(三):一分钟知道URI编码(encodeURI)
因为浏览器会用一些特殊的字符作为特定的意义,所以在要传输的内容上如果有这些特殊的字符的话,就需要对其进行转义才能正确传输,如以下字符为发送时候的关键字,即特殊字符 ;/?:@&=+$,# 所以 ...
- .NET程序员所需要注意的网站资源
一个程序员 需要 对 技术 和 行业 两方面同时具有极大热情和注意力才能让自己在一个新的台阶. 有些程序员是对技术有着极大的热情但是行业完全不注意,这样我感觉只能成为一个专家,并不能让自己真正的质变, ...
- 「花田对」CSDN程序员专场——谁来拯救技术宅!_豆瓣
「花田对」CSDN程序员专场--谁来拯救技术宅!_豆瓣 「花田对」CSDN程序员专场--谁来拯救技术宅!
- 程序员的沟通之痛https://blog.csdn.net/qq_35230695/article/details/80283720
个人理解: 一般刚工作的程序员总觉得技术最重要.但是当工作年限超过3年.或者岗位需要涉及汇报.需求对接等就会发现沟通非常重要.也许在大公司还不那么明显,但是在小公司.小团队或者创业,沟通甚至可以说是第 ...
- 怎样从一名程序员过度到项目经理(整理自csdn论坛) 选择自 whoopee 的 Blog
1.从程序员到PM,是一条脱变的路,事实上程序员走的路最终不应该是项目经理.首先有一点需要明白的就是,一定规模的项目中,项目经理不需要太懂技术,他可以是一知半解.项目经理的任务不是在技术方面,技术相关 ...
- 程序员接私活经验总结,来自csdn论坛语录
以下为网上摘录,以做笔记: 可是到网上看看,似乎接私活也有很多不容易,技术问题本身是个因素,还有很多有技术的人接私活时被骗,或者是合作到最后以失败告终,所以想请有经验的大侠们出来指点一下,接私活是怎么 ...
- 重磅!华为云社区·CSDN【寻找黑马程序员】有奖征文活动奖项公布!!
华为云社区·CSDN[寻找黑马程序员]第一期有奖征文活动在大家的鼎力支持下顺利落幕啦,非常感谢大家一直以来的支持~现在小宅就要隆重公布本次活动的奖项了!! 请各位获奖的伙伴在8月18日前私信联系提供联 ...
- B 站崩了,受害程序员聊聊
非吃瓜,B 站事件始末分析 + 防治技术分享 大家好,我是鱼皮,昨天小破站崩了的事情相信很多朋友都听说了. 这要是搁以前,不爱吃瓜的我根本不会去关注这种事,崩了就崩了呗,反正天塌下来有程序员大佬们扛着 ...
- 程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。刚进CSDN的博客看到这么句话
程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上. 而自己呢?是个程序员呢还是个业余玩家!
随机推荐
- delphi 让执行程序不在任务栏显示
Application.MainFormOnTaskbar := False; procedure TForm1.FormShow(Sender: TObject); begin ShowWindow ...
- [每日算法 - 华为机试] LeetCode 475. 供暖器
入口 力扣https://leetcode.cn/problems/heaters/submissions/ 题目描述 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热 ...
- langchain0.3教程:从0到1打造一个智能聊天机器人
在上一篇文章<大模型开发之langchain0.3(一):入门篇> 中已经介绍了langchain开发框架的搭建,最后使用langchain实现了HelloWorld的代码案例,本篇文章将 ...
- 【JDBC第3章】使用PreparedStatement实现CRUD操作
第3章:使用PreparedStatement实现CRUD操作 3.1 操作和访问数据库 数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果.其实一个数据库连接就是一 ...
- 【Linux】Vim 设置
[Linux]Vim 设置 零.起因 刚学Linux,有时候会重装Linux系统,然后默认的vi不太好用,需要进行一些设置,本文简述如何配置一个好用的Vim. 壹.软件安装 sudo apt-get ...
- 【Node.js】npm配置国内镜像源
[服务器]npm配置国内镜像源 零.问题 配置Node.js的HTTPS的时候,下载不了 一.解决 这里使用的是淘宝的镜像: npm config set registry https://regis ...
- 详细介绍MessageQueueSelector
一.MessageQueueSelector 详解 MessageQueueSelector 是 RocketMQ 提供的一个接口,用于自定义消息发送时的队列选择策略. 通过实现该接口, 开发者可以控 ...
- 关于全球化大规模混合云 Kubernetes Prometheus 监控体系标准化及 GitOps 自动化改进方案
背景 现状 某司概况: PaaS/SaaS 公司,业务面向全球,包括 东南亚/南亚/中东/欧洲/非洲/美洲/东亚... 生产 k8s 集群数十套,生产非生产 >100 套(多种集群类型,各种公有 ...
- 关于php里怎么把字符串‘false’转成boolean的false
都知道php里类型转换常用的是settype($str,'boolean')和(bool)$str 但是,他们将字符串'false'和'true'转成boolean后都是true,可能这不是我们需要的 ...
- RMQ学习笔记
RMQ学习笔记 前言:这个算法无论是从适配性还是长度来说都很有实力... 关于 RMQ RMQ 是英文 Range Maximum/Minimum Query 的缩写,表示区间最大(最小)值. 详细信 ...