写点什么

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

  • 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:331030

评论 1 条评论

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

“客户体验管理”这么热,究竟能给企业带来什么变化?

科技怪咖

2022“易观之星”年度奖项启动征集,发现卓越数智力量

易观分析

报名 数智化 易观之星

工程师如何拥抱数字化转型?

星策开源社区

工程师 产业数字化 数字化时代 智能化转型

基于 Flink 构建大规模实时风控系统在阿里巴巴的落地

Apache Flink

大数据 flink 编程 流计算 实时计算

天翼云为这场酷炫的元宇宙会议做了这件事

天翼云开发者社区

金融机构求索数据价值,“数牍方案”提供可行解 数牍科技

Jessica@数牍

隐私计算 金融行业 数据隐私安全

天翼云TeleDB系列产品升级发布会开幕在即,精彩邀您共鉴

天翼云开发者社区

DPDK技术原理与架构

C++后台开发

虚拟化 DDoS DPDK VPP NFV

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

小哈区块

金山云团队分享 | 5000字读懂Presto如何与Alluxio搭配

Alluxio

金山云 presto Alluxio 大数据 开源 8月月更

什么是外网?外网需要做等保吗?与内网的区别是什么?

行云管家

等保 等级保护 内网 外网

企业搭建知识库的重要性,你了解多少?

Geek_da0866

程序员被京东淘汰转身痛哭,HR扎心了

千锋IT教育

图灵访谈 | Vue.js官方团队成员霍春阳:跨专业做程序员,是什么感受?

图灵教育

天翼云入选可信边缘计算推进计划与分布式云扬帆计划首批成员单位!

天翼云开发者社区

云成本支出不受控制怎么办?教您一招!

行云管家

云计算 云资源 云成本

RT-Thread记录(十三、I/O 设备模型之PIN设备)

矜辰所致

RT-Thread 8月月更 I/O设备模型

这个让全网眼红的红利行业,还需要人才吗

千锋IT教育

今日头条三天点击破亿!四天精通springcloud微服务架构

退休的汤姆

社招 java架构师 秋招 #java spring、

即刻报名|汽车制造行业如何玩转大数据分析?

Kyligence

数据分析 汽车制造

大厂面试真的很难吗?字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

程序知音

Java java面试 程序员面试 后端技术 八股文

Golang 使用过程中遇到的小技巧(一)

皮特王

RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)

矜辰所致

RT-Thread 8月月更

语音交友APP:搭建部署流程及主要功能介绍

开源直播系统源码

软件开发 直播系统源码 语音直播系统

如何让工业制造拥有更强的“数字内核”?

天翼云开发者社区

使用 Canonical MAAS 部署 openEuler 测试

openEuler

centos 开源 操作系统 openEuler MaaS

开源一夏 | MySQL 事务的隔离级别

六月的雨在InfoQ

开源 mysql事务 MySQL 数据库 8月月更

人工智能应用落地的两难

felix

人工智能 开放api 算法模型

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

西柚子

基于 Flink x TiDB,智慧芽打造实时分析新方案

Apache Flink

大数据 flink 编程 流计算 实时计算

实践基地+新工科实训 青软与西南大学展开多元校企合作

神奇视野

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