第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅 第4集:一个.NET,两手准备,一个issue,加倍关注 第5集-案情突破:都是我们的错,让 .NET 5.0 背锅 第6集-案发现场回顾:故障情况下 Kubernetes 的部署表现 第7集-大结局:捉拿真凶 StackExchange.Redis.Exte…
第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅 第4集:一个.NET,两手准备,一个issue,加倍关注 考虑到案情的复杂性与戏剧性,今天我们进行了第2手准备,从基于 .NET 5.0 的最新版博客系统修改出 .NET Core 3.1 版.之前回退的 .NET Core 3.1 版是10月14日生成的,中…
第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅 第4集:一个.NET,两手准备,一个issue,加倍关注 第5集-案情突破:都是我们的错,让 .NET 5.0 背锅 今天晚上我们发布了最新版博客系统的 .NET Core 3.1 版,之前回退的都是以前的 .NET Core 3.1 版,最新版是基于 .NE…
第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅 第4集:一个.NET,两手准备,一个issue,加倍关注 第5集-案情突破:都是我们的错,让 .NET 5.0 背锅 第6集-案发现场回顾:故障情况下 Kubernetes 的部署表现 我们的博客系统是部署在用阿里云服务器自己搭建的 Kubernetes 集群…
在第1集的剧情中,主角是".NET 5.0 正式版 docker 镜像",它有幸入选第1位嫌疑对象,不是因为它的嫌疑最大,而是它的验证方法最简单,只需要再进行一次发布即可.我们在周五晚上(11月13日)进行了发布验证,发布后没有出现故障,docker 镜像的嫌疑指数下降,但这不能100%证明它的清白,因为可能是因为周五晚上的并发量不够触发故障. 在这一集中,主角是 memcached 客户端 EnyimMemcachedCore,它是到目前为止我们发现的最大嫌疑对象,它是我们从 .NE…
今天晚上基于第2集中改进版的 EnyimMemcachedCore 进行了发布,发布过程中故障重现,最大的嫌犯 EnyimMemcachedCore 被证明无罪,暂时委屈 .NET 5.0 继续背锅. 发布操作启动后,Kubernetes 集群在 20:05 左右开始更新 pod 在 20:09 之前一切正常,20:09 开始日志开始出现 tcp 连接相关的异常. 最先报异常的是 redis 客户端 StackExchange.Redis StackExchange.Redis.RedisTim…
今天我们分析了博客站点的2次故障(故障一.故障二),发现一个巧合的地方,.NET 5.0 正式版的 docker 镜像是在11月10日提前发布上线的. 而在11月10日下午4点左右,由于 CI 服务器磁盘空间用完,我们进行了磁盘清理,删除了 CI 服务器上的所有镜像,清理之前 CI 服务器上 .NET 5.0 镜像版本对应的是 .NET 5.0 RC 2,所以11月10日晚上发布博客站点时,CI 服务器重新下载了镜像,这时正好下载了 .NET 5.0 正式版的 docker 镜像,所以发布时博客…
集群安装总览参见这里 Zookeeper的配置 1,/etc/profile中加入zk的路径设置,见上面背景说明. 2,进入~/zk/conf目录,复制zoo_sample.cfg为zoo.cfg vim zoo.conf tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/hdfs/zk/data dataLogDir=/home/hadoop/hdfs/zk/log clientPort=2181 server.21=zk1…
在 .NET 5.0 背锅 . Memcached 的惹祸 .缓存雪崩之后,我们没有找到问题的真正原因,我们知道没有找到根源的故障总是会再次光临的,不是在这周就是在下周,也许就在双11前后. 就在今天双11的前一天晚上,在我们 20:30 进行常规发布的时候,它来了... 原本平滑的 memcached 服务器 tcp 连接数走势曲线开始爬坡,博客站点大量的访问请求响应缓慢,每次都"惹祸"的 memcached 自然首当其冲地成为嫌疑的焦点. 我们重启了所有 memcached 服务,…
抱歉,拖到现在才写这篇为 .NET 5.0 洗白的博文(之前的博文),不好意思,又错了,不是洗白,是还 .NET 5.0 的清白. 抱歉,就在今天上午写这篇博客的过程中,由于一个bug被迫在访问高峰发布,在10:30~11:10再次引发上次遇到的同样故障,由此给您带来麻烦,请您谅解. 2020年10月14日晚上我们发布了升级至 .NET 5.0 RC 2 的博客系统,在正式版发布之前进行升级不是我们想追求前卫,而是因为: 微软官博已经说明可以用于生产环境 RC2 is a "go live&qu…