后台必备意识——柔性可用

什么是柔性可用

柔性可用是指:当条件有限而不能向用户提供完美服务时,可以以柔性的方式提供有损的服务。

柔性可用的目标是:最大程度的保证关键服务的可用性。

柔性可用

通常,有损服务所需要的成本(系统资源消耗、网络带宽等)会低于完美服务,但是相应的体验也较差,系统设计时需要平衡二者的关系,尽力提供等级更高的服务。

另一方面,要注意有损服务应该是柔性的,尽可能贴近用户需求的。比如,用户想要的是一台高性能智能手机,我们不能说提供一台复印机给她。

为什么要有柔性可用

  • 系统不是绝对可靠的: 机器故障、网络波动(故障)在系统运行中是经常会遇到的。
  • 系统的成本是有限制的: 为了系统能更加稳定地运行,系统设计时可能会进行容灾(资源冗余,包括机器、网络、人员等)。但是这种冗余不是无限度的,毕竟成本是有限的。而有些时候,系统可能会有一些超过容灾系统的负载能力的突然高流量。

下面是两个案例:

  1. 2008年陈老师的作品横空出世,网友在qq传阅相关作品,导致qq服务流量急剧升高,引发流量海啸。许多qq的服务均受到影响,不能正常提供服务。
  2. 微信红包产品刚问世的一段时间,每逢高峰期,就经常崩溃。 现在,一款互联网产品提供的服务越来越多,服务的用户量也越来越庞大,在资源有限的情况下,只做容灾、过载保护等是远远不够的。

容灾与柔性可用的目标差异:

  • 容灾: 能够提供完整的服务,但是对负载的提升是有限的,比如从1000万级别的流量负载能力提升到2000万。
  • 柔性: 柔性可用提供有损的服务,其目标不是提升系统的负载能力,而是将负载(请求量下降)。柔性可用把千万级别的流量降低到百万、甚至十万级别。

一个系统可能会提供几十、上百个子功能,其中可能只有少数几个是核心功能,而柔性可用就是尽最大能力保证这少数几个核心功能正常工作。

下面是计算机系统中较为合适的柔性可用的例子:

  1. 门户网站系统(页面有视频、图片、文字),带宽有限的话,可以先不提供视频,只返回图片和文字部分。如果资源还是不够,那就先提供纯文字的页面。
  2. IM聊天工具,拉取好友列表时,如果没办法提供完整信息的时候,可以先不显示备注(直接用昵称)、不显示当前动态等等。
  3. 视频播放器依据网络带宽,蓝光、超清、表情,不同等级的视频。

柔性可用的实现步骤

要实现柔性可用的系统,在产品设计和技术实现两个阶段都应该有柔性的意识。

实现柔性可用的系统,通常包含以下步骤:

  1. 服务分级: 在产品设计阶段,需要对服务的应用场景进行还原。要清楚地认识到哪些服务是系统的核心服务,哪些服务是支撑服务。(这不单单是从重要性进行分级,还要考虑,有些服务是需要实时完成还是可以离线完成后延迟同步)
  2. 自身能力评估: 在产品设计阶段,要了解自己拥有的资源,对自己的负载能力有较好的评估。简单的说,就是要清楚在各种条件下,自己能提供什么样的服务。
  3. 系统划分(分级): 在技术实现初期(系统设计),需要遵循大系统小做的原则,对系统进行拆分,避免各个服务互相影响,降低子模块耦合性。
  4. 自我监控: 系统要有自我监控能力,了解当前负载,评估是否需要提供降级服务。
  5. 降级服务: 满足降级条件时,分级提供柔性服务。
  6. 系统恢复: 当系统重新满足可以提供完美服务的条件时,升级服务等级(有能力时,还应该对之前放弃的局部服务进行恢复)

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

怎么才能学好嵌入式?

嵌入式学习太广泛,要学习的东西忒多。根据自己的选择,你要干硬件,还是软件等等。我们就从基础说起吧! 软件基础: 一、编程基础 C/C++语言学习书籍,谭浩强C语...

3345
来自专栏WeTest质量开放平台团队的专栏

当压测遇见奥运 ——游戏服务器如何在上线时面对用户的洪荒之力

大量用户登录游戏产生的“洪荒之力”往往会对游戏服务器产生巨大的压力,游戏上线之前对服务器的承载能力做测试是必须要做的事。本文从腾讯游戏之前服务器性能测试的经历出...

1453
来自专栏云计算D1net

提升云计算体验 采用四个小工具

云计算的出现改变了传统的业务模式。但最近频频出再安全漏洞事件,却也使企业在使用云计算技术上生了胆怯,尤其是这些安全事件还有上升的趋势,据美国电信运营商Veriz...

3755
来自专栏ytkah

微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题

  前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版...

5556
来自专栏工科狗和生物喵

“网易云音乐WIFI下无法播放音乐”问题解决

开篇语 遇到了一件很奇怪的事情,那就是,当我的手机升级到了最新版的网易云APP的时候,我发现我在WiFi下,竟然都没有办法打开任何一个歌单,以及在线听一首歌曲。...

7886
来自专栏数据和云

YH10:分布式存储解决方案zData

云和大数据时代的到来导致各行各业数据量的爆发,面对业务数据的日益剧增,企业的IT系统在性能、稳定性和扩展性等方面都面临前所未有的巨大挑战。如何有效应对云和大数据...

4434
来自专栏黑白安全

社会工程学预防x1

在阅读本文之前,要明白,你的信息或许已经被联不通移不动或者其他网站的安全漏洞泄露了,毕竟黑市上这些东西一大把一大把的。

781
来自专栏伪君子的梦呓

Code.org 一个让孩子学习编程的网站

4916
来自专栏Java学习网

程序员需谨记的8条团队开发原则

  当你从学校出来,找到第一份软件开发工作的时候,你就不再是一个单独作战的程序员了,你将会有一个团队,你的一举一动也将直接影响团队的效率和产出。下面这8条团队开...

3355
来自专栏鹅厂网事

数据中心间网络SDN解决思路探讨 ( 下集 )

上集提到了我们DCI SDN背景信息,我们在实际运营上遇到的一些困惑,以及我们针对运营中看到的问题,提出了SDN方向解决思路。那么下集我们一起窥探里面用到的实...

23110

扫码关注云+社区

领取腾讯云代金券