当前位置: 首页 > news >正文

腾讯云详解宕机故障:光纤挖断后的150秒

3 月 23 日下午 4 点左右,腾讯多个产品出现大规模宕机,暖暖、QQ 飞车,王者荣耀,吃鸡等 90 多个服务受到影响。下午四点半,腾讯云发布公告称:各位用户,2019年03月23日16时左右,因上海当地网络运营商光纤线路大面积故障,腾讯多个产品业务受到影响。目前运营商正在紧急抢修中,我们也正在积极做容灾处理,业务陆续恢复中。后续恢复进展会及时向各位公布。

3月25日,腾讯云官方微信号发布《光纤挖断后的150秒》正式回应此次宕机事件,笔者摘录了部分内容:

3月23日下午,上海南汇网络光纤因施工被意外挖断,导致该区不少互联网公司的业务受到不同程度的影响。

“大概是从下午3点左右开始吧,网吧里面就有不少用户反馈,多款游戏开始出现掉线,无法登陆,甚至无法充值等情况。”来自上海的南汇区的一位网友在微信群里吐槽。这并非个别情况。随即不少群友开始接连反馈遇到类似的问题。

与互联网用户的慌乱鲜明形成对比的是,不少企业用户的情况却相对稳定。据腾讯云的一位用户反馈,故障发生后,他们运维人员立即启动监测,但是未发生业务掉线。

下午4点52分,腾讯云率先对外公告称,腾讯云平台在2019年03月23日监控到上海电信用户访问腾讯云外网有抖动,目前已经逐渐恢复。

在云服务越来越普及的今天,如何在面对网络故障的情况下,尽可能保证服务的稳定性和连续性,是所有企业都需要重视的问题。

启动智能化流量调度系统

当天下午,腾讯云网络监控平台监测到上海到浙江电信出现小范围公网质量下降。腾讯云随即启动流量智能调度系统,将上海地区公网流量通过腾讯云内部T级骨干网,引导至腾讯云广州区电信出口,再由电信骨干网直达浙江电信。

从架构上看,腾讯云公网流量智能调度系统,一方面通过接口自动执行并反馈管理台下发的各种调度和控制信息;另一方面和公网出口设备建立BGP(公网路由协议)连接,通过采集设备路由信息,根据调度需求向不同路由设备下发流量调度命令,从而实现领先的公网自动化流量工程技术。

此次光纤故障,腾讯云从发现到恢复故障,全程花费了2分钟(抖动时间:14:40:15-14:42:45),并且所有流程自动化执行,在150秒之内恢复网络。

“四纤三路由”高冗余架构

能否做到上述效果与腾讯云自身高度冗余的网络架构以及智能自愈机制有很大关系。

首先,腾讯云在基础设施的高可用方案为网络的平稳运营提供了重要前提和支撑。腾讯云目前在每个区域,例如上海南汇,引入并划分了多个可用区,可用区之间提供可靠的风火水电物理全隔离,同时又妥善考量了各个可用区之间的网络低延迟,这就从基础设施层面有效保证用户的网络高可用性和稳定性。

另外,从架构层面看,此次光纤故障,腾讯云网络能够在极短时间内自动恢复,一个重要原因要归功于它可用区之间互联的底层网络,这套网络采用了运营商级“四纤三路由”的高冗余架构设计。什么意思呢?通俗一点来说就是腾讯云每个可用区与可用区之间都采用3条独立光纤连接(分别来自不同方向),并同时接入两套完全物理分离的波分系统,从而有效保障光纤意外中断时,能够在50毫秒级自动切换。

\"image\"

腾讯云四纤三路由高度冗余架构

除此之外,腾讯云波分系统中部署有光时域反射仪,在产生光缆中断时,系统可以主动探测光缆具体中断情况,第一时间精准定位光缆中断的具体位置,并及时反馈给运营商,为此次光缆的顺利修复提供非常准确的信息。

相关文章:

  • 【面试准备·3】网络相关
  • Linux基础(第二周)
  • java 企业门户网站 源码 自适应响应式 freemarker 静态引擎 html5 SSM
  • 搭建nonde项目结构
  • 简单封装的ajax请求
  • MySQL学习【第十三篇日志管理】
  • BootStrap基础知识
  • Shiro原理解析(三)--再谈过滤器
  • mysql-python安装时EnvironmentError: mysql_config not found
  • 蚂蚁金服开源服务注册中心 SOFARegistry | SOFA 开源一周年献礼
  • Grafana 6.1.0-beta1 发布,系统指标监控与分析平台
  • HighChart教程:如何使用Highcharts Cloud API(二)
  • 企业级web缓存服务器Varnish
  • MIPS R6架构现已可供开放使用
  • 常用快捷键总结
  • 《深入 React 技术栈》
  • 【技术性】Search知识
  • Android开源项目规范总结
  • Angular 4.x 动态创建组件
  • C# 免费离线人脸识别 2.0 Demo
  • Debian下无root权限使用Python访问Oracle
  • Elasticsearch 参考指南(升级前重新索引)
  • HomeBrew常规使用教程
  • Idea+maven+scala构建包并在spark on yarn 运行
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • PhantomJS 安装
  • Python爬虫--- 1.3 BS4库的解析器
  • rabbitmq延迟消息示例
  • Wamp集成环境 添加PHP的新版本
  • 初识MongoDB分片
  • 构造函数(constructor)与原型链(prototype)关系
  • 机器学习中为什么要做归一化normalization
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端技术周刊 2019-01-14:客户端存储
  • 浅谈web中前端模板引擎的使用
  • 深入 Nginx 之配置篇
  • 使用agvtool更改app version/build
  • 使用SAX解析XML
  • 探索 JS 中的模块化
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 与 ConTeXt MkIV 官方文档的接驳
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • !!java web学习笔记(一到五)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (南京观海微电子)——COF介绍
  • (三)模仿学习-Action数据的模仿
  • (转)linux 命令大全
  • .form文件_SSM框架文件上传篇
  • .NET Core跨平台微服务学习资源
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法