软件测试 52 讲
茹炳晟
腾讯 TEG 基础架构部 T4 级专家
71691 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
结束语 (1讲)
软件测试 52 讲
15
15
1.0x
00:00/00:00
登录|注册

50 | 深入浅出网站高可用架构设计

如何设计缓存集群的高可用架构
是否需要高可用架构的支持
解决方案:加强测试提高应用本身的质量,引入预发布服务器消除测试环境和生产环境的差异
解决方案:灰度发布技术手段
解决方案:硬件层面加入必要的冗余
缓存服务器的高可用架构
应用本身质量
发布新应用的过程
服务器硬件故障
4个“9”(99.99%)
思考题
影响网站高可用的因素
衡量网站高可用性的指标
网站高可用架构设计知识

该思维导图由 AI 生成,仅供参考

你好,我是茹炳晟。今天我和你分享的主题是:深入浅出网站高可用架构设计。
在今天这篇文章中,我将沿着网站架构的话题,和你继续聊聊高可用的架构设计。
顾名思义,网站高可用指的就是,在绝大多的时间里,网站一直处于可以对外提供服务的正常状态。业界通常使用有多少个“9”来衡量网站的可用性指标,具体的计算公式也很简单,就是一段时间内(比如一年)网站可用的时间占总时间的百分比。
我用下面这个表格,列出了四种最常见的可用性等级指标,以及允许的系统不可用时长。
一般,我们以“年”为单位来统计网站的可用性等级。“9”的个数越多,一年中允许的不可用时间就越短,当达到 5 个“9”的时候,系统全年不可用时间只有区区 5 分钟,可想而知这个指标非常难达到。
所以一般来讲,业界的网站能做到 4 个“9”,也就是说在一年内只有 53 分钟的时间网站是处于不可用状态,就已经是算是非常优秀了。
另外,可用性指标还有个特点,越往后越难提高,需要付出的经济成本和技术成本都会呈现类似指数级的增长。因此,在实际的网站架构设计过程中,到底需要做到几个“9”还需要结合具体的业务要求,以及风险评估来最终确定。
那么,接下来我就首先和你分析一下造成网站不可用的主要原因,然后再基于这些原因谈谈我们可以通过哪些对策和方法,将这些造成网站不可用的因素的影响降到最低。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了网站高可用架构设计的重要性和相关知识。首先介绍了网站高可用性的概念和衡量指标,强调了高可用性在网站架构设计中的重要性。随后,分析了造成网站不可用的主要原因,包括服务器硬件故障、发布新应用的过程以及应用程序本身的问题,并提出了相应的对策和方法。对于硬件故障,建议从硬件层面加入必要的冗余;对于发布新应用造成的不可用,采用灰度发布技术;对于应用程序本身的问题,加强测试和引入预发布验证。文章还提到了应用服务器和数据存储服务器的高可用架构设计。最后,提出了思考题,探讨了缓存服务器是否需要高可用架构支持以及如何设计缓存集群的高可用架构。整体而言,本文对于测试工程师了解和掌握网站高可用架构设计知识具有重要的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • Jecy-8
    老师总结得很全面。我有个问题,由于集群可以保证服务的可用性,那么压力其实都在负载均衡这里了,一旦负载均衡挂了就访问不了了,所以对于负载均衡,也要做冗余,不知道老师这块的建议是什么
    2018-11-01
    1
    5
  • 宇天飞
    缓存服务器,觉得不需要高可用。 1. 缓存服务器本身是为了提高系统性能,即使失效,也不会直接影响系统可用性。 2.高可用本身是通过各种冗余来保证的,比较耗费资源和有一定复杂度,一般只会在核心服务涉及。
    2019-03-19
    1
    3
  • 南湾小猪
    我觉得缓存服务器也应该保证一定的高可用性(当然这个没有我们对应用或数据服务器的要求那么高)。 因为一旦缓存服务器雪崩时,数据服务器可能无法处理这么大的请求,间接导致数据库服务器和应用服务器崩溃。 可采取方案如,每个节点只缓存部分的数据,当某个节点宕机时,可以保证其它节点的缓存仍然可用。也可以进行缓存预热,避免在系统刚启动不久时导致缓存雪崩。
    2020-05-12
    1
    1
  • Alisa
    我们公司新开发的项目尝试过预发布,就是上线之后不对外公布域名,发布一段时间才正式使用,但是已经正式使用的应用如何使用预发布呢?看老师提的是说先预防布再进行灰度测试,然后让我这个小白有点蒙了。。。老师有没有实例解释下?求解答~
    2020-03-31
    2
    1
  • 小老鼠
    1、数据库冗余会不会出现同步不一致或不及时,从而对应用造成影响? 2、升级100个服务要用自动化技术吧。我以前在一通信公司,可靠性为5个9,升级四台机器,两个为Active,两个为Standby,毎次升级都有二百多步,而且每次发布升级程序都有一些变化,用自动化布署性价比不好,你有什么办法。 3、灰色发布到实际环境是否需要有另一套环境?
    2018-12-01
    1
  • Geek_67bb9d
    这篇文章讲的内容是否需要故障注入来测试啦?
    2023-05-22归属地:四川
  • 小昭
    负载均衡服务器任务艰巨……
    2022-02-24
  • 捷后愚生
    缓存服务器如果能做到高可用架构当然是更好的,但是要根据公司实际场景综合考虑,在资源有限的情况下,肯定是首先对应用服务器和数据存储服务器实现高可用架构。缓存服务器就算全部除了故障,后面还是可以重建。
    2020-08-29
  • 盒子妮
    通过本文学到了更多的知识,老师讲的条理清楚,通俗易懂。
    2019-09-23
  • jason
    负载均衡可以坐双机热备,自我守护以及自我恢复和故障切换
    2019-06-20
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部