昨天的大瓜,B站蹦了,大伙都跳起来分析了一波异常原因,着实给大伙的秋招准备了一波热乎乎的素材!在大家都在关注 B站的时候, 我大A站终于要站起来了!!!经过多方网友的极力引流,我A站也蹦了~

紧急通知: B站换域名了!!!

这里简单介绍一下 A 站发展史:

A站最初创立于2007年,是国内第一家弹幕视频网站,而且也曾经辉煌过,事实上A站在2011年之前一直都压制着B站,是当时国内最大的弹幕视频网站。

2009 - 2016 混乱的资本和人事斗争成为A站发展道路上最大的阻碍,也最终让A站逐渐走向衰落。

A站最初的“接盘侠”就是边锋网络,将“生放送”这块业务从A站独立了出来,成立了新的公司,也就是后来的斗鱼TV

2018快手全资收购,苦苦经营。

A站蹦了

在广大网友的引流下,A站 迎来了一波大流量,成功把服务打挂了。但是和B站 崩溃不一样 ,大流量导致的雪崩,可以通过快速止血 , 恢复服务,

A站崩溃分析

贴了那么多的图,下面进行一波理性分析:

  • 崩溃恢复大概在一个小时(23:15-00:25) 左右
  • 崩溃时页面显示正常
  • 恢复后,部分能力熔断

可以比较直观的感受,A站蹦了的原因,就是由于大流量打蹦了服务,导致服务异常。

可惜了兄弟们的一波引流

CDN 蹦了

CDN 上缓存的资源主要为: H5资源视频. 在一开始的 A站,展示页面是长这个样子的:

可以看到, H5 页面的静态资源加载没有问题, 资源还能够访问到,这时的 CDN 还是处于正常状态, 到后面的,整个页面都蹦了,这个时候 CDN 也被打挂了。

数据库蹦了

数据库蹦,是猜测的,大流量冲击下,新用户的登录,不同类型数据的访问,导致缓存命中率大大下降,请求直接打到数据库上。 这里就会出现雪崩的第一步: DB 处理超时

服务蹦了

上面提到了 数据库超时 ,引起的服务雪崩。 是其中的一种可能,如果服务的瓶颈并不是 DB ,而是逻辑处理数据传输等,占用的是机器CPUIO等资源,随着流量剧增,导致机器负载过高,无法快速响应业务,也是导致服务雪崩的原因之。

这里以 A站 的视频流传输为例,OSS 响应缓慢,或者说传输带宽受限,导致请求在视频服务堆积,最终导致整个链路雪崩。 当然,其他链路也会有类似的可能。主要指标可以参考,CPU内存IO 的负载,接口响应耗时。

A站服务恢复

恢复效果差强人意,可以直接明了的感受到部分能力被熔断了,保障基础能力的提供.

为什么我能那么快恢复?

B站 的服务崩溃不同(物理攻击), A站 受到的影响主要是由于流量过大,导致机器负载过高,引起的雪崩。目前大部分服务,都已经上云了,好处就是,根据需求动态扩容(钱能解决的问题,都不是问题)。

1、动态扩容

通过监控可以很快定位到异常服务(负载过高),通过定向扩容,可以减轻单机负载压力,提升集群处理能力。以刚才提到的视频服务为例, 服务器负载过高了,加机器OSS 带宽打满了, 充钱 ,阔大带宽!

2、限流

处理动态扩容,为了避免服务再次被打挂,很有必要加上限流,高可用三剑客之一,可以通过 网关限流服务器限流传输限速等多种渠道保障服务。像博主之前介绍到的 Sentinel 也提供,机器负载保护的能力,机器负载过高导致的雪崩。

3、熔断

服务熔断,是通过关闭部分能力,以保障整体链路的稳定性。下面图中,推荐系统能力可能暂时没回复,也可能是被熔断了。

整体架构可以理解为:

A站独家,五蕉必吃

好了各位,以上就是这篇文章的全部内容了,我后面会每周都更新几篇高质量的大厂面试和常用技术栈相关的文章。感谢大伙能看到这里,如果这个文章写得还不错, 求三连!!! 创作不易,感谢各位的支持和认可,我们下篇文章见!

我是 九灵 ,有需要交流的童鞋可以 加我wx,Jayce-K,关注公众号:Java 补习课,掌握第一手资料!

如果本篇博客有任何错误,请批评指教,不胜感激 !

B站蹦了,关我A站什么事?的更多相关文章

  1. PHP防止跨站表单提交与同站跨页伪造表单的攻击

    在以前的防止跨站攻击的时候,使用了验证提交的页面是否是同一个站点,这样可以防止普通的攻击,ereg("blog.qita.in",$_SERVER['HTTP_REFERER']) ...

  2. 测试站如何最快获取正式站的最新数据: ln -s

    针对静态数据, 比如图片/js等文件, 测试站如何获取最新的呢? ln -s /alidata/www/mysite/uploads /alidata/www/mysite_test/uploads ...

  3. 使用美橙主机建站(jsp+mysql+tomcat建站)

    1.注冊美橙互联账号:http://www.cndns.com/ 2.选择橙云主机: 3.选择你须要的主机类型. 3.能够随时与客服进行沟通.购买完毕后登陆 管理中心 4.点击左边 主机类管理--&g ...

  4. C站投稿189网盘视频源(UP主篇)

    C站投稿189网盘视频源(UP主篇) 现在C站(吐槽弹幕网)的视频来源基本靠的都是189网盘,比如番剧区的每个视频基本来源于此,不像AB两站,拥有自己的资源服务器,为啥呢?没钱啊.都是外来的视频.本站 ...

  5. [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】

    [课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...

  6. 洛谷P1901 发射站

    题目描述 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接 ...

  7. 用PHPcms V9四步完成WAP手机站搭建

    用PHPCMS最新发布的V9搭建了ONOW中文网,WEB网站(www.onow.cn)完成后,有用户提供手机访问的问题, 于是着手搭建ONOW手机WAP站(3g.onow.cn). 用PHPCMS V ...

  8. 完善dedecms站内搜索代码,为搜索结果添加第*页

    自那些平凡而伟大的程序猿开发了内容管理系统(cms),为了让看客们更快地找到自己感兴趣的内容,他们不断完善站内搜索代码,形成了一个小型的站内搜索引擎.可能有些网站模板设计师没考虑到seo的问题,很多站 ...

  9. 嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)

    http://bbs.phome.net/showthread-31-318753-0.html 如果你的网站使用的是帝国CMS.PC站和手机站各使用一个模板组,但共同使用一个数据库.那么你的PC站和 ...

随机推荐

  1. window系统安装mysql

    下载地址(其他图形界面) https://dev.mysql.com/downloads/windows/installer/如果下载win7 64位,在下载后出现不兼容,可以在window窗口菜单中 ...

  2. Go语言网络通信---一个简单的UDP编程

    Server端: package main import ( "fmt" "net" ) func main() { //创建udp地址 udpAddr, _ ...

  3. Python+Selenium - 定位策略

    一个元素定位可能会在多个地方用到,用loc变量接收元素的定位方式和相对路径.使用时再拆包(*loc) loc = (定位方式,'定位方式对应的元素路径')    =>元素定位方式及路径 driv ...

  4. OpenCV 查找轮廓

    本文将结合实例代码,介绍 OpenCV 如何查找轮廓.获取边界框. 代码: contours.py OpenCV 提供了 findContours 函数查找轮廓,需要以二值化图像作为输入.并指定些选项 ...

  5. Configuration注解

    1.说明 Configuration注解的出现就是为了替换xml文件 java配置是通过@Configuration和@Bean注解实现了 @Configuration注解,声明当前是一个配置类,相当 ...

  6. ResNet-50模型图像分类示例

    ResNet-50模型图像分类示例 概述 计算机视觉是当前深度学习研究最广泛.落地最成熟的技术领域,在手机拍照.智能安防.自动驾驶等场景有广泛应用.从2012年AlexNet在ImageNet比赛夺冠 ...

  7. MindSpore数据集mindspore::dataset

    MindSpore数据集mindspore::dataset ResizeBilinear #include <image_process.h> bool ResizeBilinear(L ...

  8. Lidar激光雷达与Radar雷达

    Lidar激光雷达与Radar雷达 自动驾驶技术正迅速成为汽车工业的驱动力.来自全球的汽车制造商正在与Google等顶级高科技巨头以及其他知名初创公司合作,共同开发下一代自动驾驶汽车.中国也开辟了自动 ...

  9. 用java实现一个ATM机系统(2.0版)

    用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...

  10. 重新整理 .net core 实践篇—————文件系统[二十二]

    前言 简单介绍一下文件系统. 正文 文件系统,主要是下面3个接口组成: IFileProvider IFileInfo IDirectoryContents 那么他们的实现是: physicalFil ...