前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云Status Page(健康看板)容灾设计与混沌演练实践——上篇

腾讯云Status Page(健康看板)容灾设计与混沌演练实践——上篇

原创
作者头像
用户6847439
修改2024-03-11 16:53:40
5590
修改2024-03-11 16:53:40
举报
文章被收录于专栏:腾讯云顾问腾讯云顾问

背景

腾讯云Status Page(Tencent Cloud Health Dashborad ),作为腾讯云官方的产品可用信息对外窗口,需要保障在极端的故障情形下,还能及时且正确地对外呈现关键信息,这要求在架构设计和部署上做到多地域级别的容灾效果。为了达到目标,我们除实施针对性的架构设计和部署外,还对各类故障场景做了故障演练验证。

架构部署

为了在极端故障场景下能正常对外服务,我们做了以下架构部署策略:

  • 异地多活,三地部署,其中包括海外地域
  • 地域内多可用区
  • 逻辑层可用区内通过ingress对外服务,POD异常时ingress可自动剔除
  • 数据层使用腾讯云Mysql产品,具备跨可用区容灾能力
  • 接入腾讯云产品ECDN,能同时获得分布式的容灾访问能力和加速能力
部署架构图
部署架构图
可用区内部架构
可用区内部架构

接入层容灾

借助腾讯云CDN的能力

当遇到站点以下两种异常:

  • 后端返回异常的http状态码
  • 接入VIP连接异常

ECDN会重试请求备源,另外对于连接异常的源VIP,ECDN可以自主进行剔除与恢复。从而可以做到可用区或者地域级别的异常的情况下,服务还能正常对外可用。

逻辑层可用区内容灾

腾讯云Status Page 逻辑层的部署采用了当下业界流行的云原生化的模式,借助腾讯云K8s产品的能力:

所有服务均开启了POD自动探活配置,当前后端的服务异常时,K8s平台能及时识别到pod异常,进而在可用区接入层(ingress)将其剔除,保证对外服务正常。

另外开启HPA,当工作负载的负荷到达配置CPU,内存,网络等瓶颈时,K8s调度模块还能及时调整pod数量,在请求量大的场景下能保证用户访问体验不受影响。

数据层容灾

前面提到,腾讯云CDN具备当后端返回异常的http状态码时ECDN会重试请求备源的能力。

借助该能力,结合代码内部逻辑对数据层异常的专门处理(如连接DB异常时,设置http状态码为50x),主备多地多活部署架构下,我们就能应对数据层异常的场景,保障服务的正常请求响应。

过程示意如下图所示:

总结

综合上述的架构设计及针对性部署,腾讯云Status Page 基本在可预期的各类异常场景下,能继续正常对外服务。

比如包括但不限于以下异常场景:

  • 极端灾坏下的地域级别的核心网异常,就近CDN节点剔除主且重试异地备源
  • 多可用区级别的交换机故障,就近CDN节点剔除主且重试异地备源
  • 机房掉电,就近CDN节点剔除主且重试异地备源
  • DB故障,异常返回码重试
  • 服务异常,POD自动剔除
  • 等等

当然我们不会故步自封,在不断尝试和验证更好的部署和容灾方案后,会继续保持迭代优化。

快速访问

腾讯云Status Page

国际站Status Page

系列文章

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 架构部署
  • 接入层容灾
  • 逻辑层可用区内容灾
  • 数据层容灾
  • 总结
  • 快速访问
  • 系列文章
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档