【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

为什么基础服务不应该高可用(一)

  • 2019-12-27
  • 本文字数:1126 字

    阅读完需:约 4 分钟

为什么基础服务不应该高可用(一)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。


作者在去年使用过 Google Cloud 平台提供的 Kubernetes 来管理生产环境的集群,然而在托管的过程中却经历了一些比较严重的线上事故,几个集群的中的节点因为停机维护而同时重启导致线上的服务几个小时都处于不不可用的状态。


当然事故时间如此之长的原因有很多,在这里不会展开讨论,然而事故刚刚出现时作者曾经也想去责怪和质疑谷歌云服务的稳定性,但是在随后的分析中得出了另一个结论『你的基础服务其实不应该高可用』,我们在这篇文章就会为各位读者分享作者产生这一观点的原因。

概述

为了帮助大家理解今天的内容,我们需要帮助各位读者理解问题中的两个个关键点,也就是高可用意味着什么、基础服务在这里的定义以及基础服务和 SLA 之前的关系。


高可用

想要让服务达到高可用并不是一个容易的事情,不仅服务运行过程中出现的事故会影响可用时间,用于维护的计划停机和更新其实也会影响服务整体的可用时间,如果一个服务要求可用性为 99.95%,那么全年不工作的时间可能只有 4.38 小时,每个月只能宕机 21.9 分钟。


可用性不可用时间(每年)不可用时间(每月)
99%87.6h7.3h
99.9%8.76h0.73h
99.99%52.56min4.38min
99.999%5.26min26.3s
99.9999%31.56s2.63s


假设我们需要达到 4 个 9 的可用性(99.99%),全年的不可用时间只有不足 1 小时,每个月的不可用时间只有 4.38 分钟,99.99% 就是 Google 云计算引擎对外提供的服务质量,每个月不可用时间小于 5 分钟,这也是作者见到过云服务商对外提供的最高服务等级协议(Service-Level Agreement, SLA)了。


很多人可能认为每个月不可用 5 分钟也没什么难的,但是如果你的业务服务建立在稳定性只有 99.95% 甚至 99.9% 的服务上时,你还能保证服务的高可用么?

基础服务

在这篇文章中我们谈到的基础服务指的其实都是基础设施和基础架构,例如用于支撑整个业务系统的 MySQL、Redis 以及 Kubernetes 等系统,这些系统的稳定性和可用性会影响整个业务系统的可用,由于这些基础服务往往提供了相对较为简单和稳定的功能,所以我们对基础服务的可用性有着更高的要求。



业务服务由于经常发版和迭代,有时很难保证服务的稳定和可用,而基础服务和基础架构因为处于更加底层的位置,所以它们稳定性的提升对于依赖它们的上游来讲会有比较大的收益,这也是所有业务同学对基础服务以及架构的期望 —— 保证尽可能高的可用性并保证服务不会宕机。


本文转载自 Draveness 技术博客。


原文链接:https://draveness.me/whys-the-design-unstable-infrastructure


2019-12-27 11:33690

评论 1 条评论

发布
用户头像
强强强
2020-08-27 23:53
回复
没有更多了
发现更多内容

用CSS+SVG做一个优雅的环形进度条

OpenTiny社区

前端 UI

轻量级图片查看软件 EdgeView 4最新中文版

胖墩儿不胖y

Mac软件 图片查看软件 Mac图片工具

Mac应用快速启动器 Alfred 5最新激活版

mac大玩家j

效率工具 Mac软件

提升数据决策时效,火山引擎DataLeapCDC分库分表能力升级!

字节跳动数据平台

大数据 数据治理 数据安全 数据研发 企业号10月PK榜

大模型时代,小度全屋智能超级新物种,持续加码AI未来生活

新消费日报

使用 LF Edge eKuiper 将物联网流处理数据写入 Databend

Databend

Databend hash join spill 设计与实现 | Data Infra 第 16 期

Databend

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

极狐GitLab

开源 AI DevOps gitlab DevSecOps

Mac平台可用的终端仿真软件 SecureCRT 9

展初云

securecrt Mac软件 终端仿真

报名开启 | 支付宝小程序云 × DCloud 将强强联合,为开发者提供多端开发服务

TRaaS

支付宝小程序 小程序云开发 uni-app DCloud

面试题解答:Spring Lifecycle 和 SmartLifecycle 有何区别?

江南一点雨

Java spring

我与极客时间的不解之缘

打工人!

我和极客时间的故事

真实用户体验的价值与示例

Yestodorrow

可观测性 业务增长 数据洞察 观测云 真实用户体验

Mac电脑上的快速启动和工作流自动化工具 Alfred 5

展初云

效率工具 Alfred Mac

Mac可用的摄影照片后期编辑工具 Lightroom Classic 2024

展初云

Mac LR 照片后期处理

基础设施SIG月度动态:T-One 社区版调度引擎全量替换至 runnerV2 版本,调度性能平均提升 6.8 倍

OpenAnolis小助手

开源 镜像 操作系统 龙蜥社区 基础设施SIG

权威赛事、高额奖金,文心一言插件开发邀你来挑战!

飞桨PaddlePaddle

人工智能 大数据 文心一言

这一大波Offer来的太突然了

王磊

Java

一文搞定专属码的设计与开发

百度Geek说

AI 计算机视觉 二维码 企业号10月PK榜 异形码

收获认可!杭州悦数正式成为信创工委会技术活动单位

最新动态

藏在超级应用背后的道家哲学

Onegun

超级应用 superapp

Photoshop 2023 (ps 2023) for Mac v24.7永久激活版

mac

Photoshop 2023 图像处理软件 苹果mac Windows软件

登录MySQL数据库最快需要几步

小齐写代码

将日志压缩并归档到 Amazon S3 Glacier 存储层中

亚马逊云科技 (Amazon Web Services)

分布式 S3 储存

ES6新特性(二)

阡陌r

JavaScript Rest ES6 箭头函数 symbol

为什么基础服务不应该高可用(一)_语言 & 开发_Draveness_InfoQ精选文章