【故障公告】博客站点再次出现故障,最终回退 .NET 5.0 版恢复正常

注:这边博文分享的是我们处理故障过程中发生的事实,故障的确是在我们将博客系统从 .NET 5.0 版回退到 .NET Core 3.1 版恢复的,但不一定是 .NET 5.0 本身的问题,有可能是巧合,也有可能是我们的应用代码不能适应 .NET 5.0 的某些变更,我们会进一步排查与验证。

自从博客系统升级 .NET 5.0 之后遇到的诡异故障(),今天它又出现了,就在前天刚刚故障之后, 就在昨天 .NET 5.0 正式版刚刚发布之后,出现了。

今天晚上(11月12日)我们在 19:30 左右进行了一次发布,发布后特地进行了观察,当时没有出现故障,满以为这次发布相安无事,但后来还是慢慢发生了故障,直到 20:30 左右产生大范围影响,大量请求响应缓慢。在这次故障过程中,我们试遍了之前的所有方法(除了回退 .NET 5.0)都无济于事,在我们几乎绝望之时,我们把目光转向了我们曾经专门“洗白”过的 .NET 5.0,我们没有任何理由怀疑 .NET 5.0,但是除了 怀疑 .NET 5.0,我们已经走投无路。

在22:00左右,我们带着非常复杂的心情,不报任何希望(也不希望有希望)地进行了从 .NET 5.0 回退到 .NET Core 3.1 操作

./deploy-blog.sh 2.3.73

结果,在回退完成后,竟然恢复了正常,恍如梦中。。。

难道又是一次巧合,刚好故障在这个时间点恢复,我们正好进行了回退操作。。。

我们现在茫然不知所措,似乎铁证如山,似乎 .NET 5.0 不可能出现如此大的问题。。。我们先冷静冷静,然后再仔细分析与排查。

非常抱歉,今天 20:30~22:00 左右博客站点再次出现的故障给您带来了很大的麻烦,请您谅解。

【更新】

2020-11-13 07:55,博客系统恢复为 .NET 5.0 版运行。(注:.NET 5.0 版与 .NET Core 3.1 之间相差30个发布,这个降级影响比较大。另外,如果真的是 .NET 5.0 引起的,如果发生故障,可以立即回退到 .NET Core 3.1 恢复。)

2020-11-13 10:56,接下来我们会采用排除法,一个一个怀疑点排查与验证,第一个怀疑对象是 memcached 客户端 EnyimMemcachedCore

2020-11-13 20:57,发布了后续博文 《.NET 5.0 背锅案》第1集:验证 .NET 5.0 正式版 docker 镜像问题

2020-11-16 15:56,发布了后续博文 《.NET 5.0 背锅案》第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore

2020-11-16 22:09,发布了后续博文《.NET 5.0 背锅案》第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅

2020-11-20 14:10,发布了结案博文《.NET 5.0 背锅案》第7集-大结局:捉拿真凶 StackExchange.Redis.Extensions 归案

posted @ 2020-11-12 23:11  博客园团队  阅读(7148)  评论(109编辑  收藏  举报