网易视频云:如何打造高可用系统

网易视频云:如何打造高可用系统

ID:35442393

大小:58.54 KB

页数:3页

时间:2019-03-24

网易视频云:如何打造高可用系统_第1页
网易视频云:如何打造高可用系统_第2页
网易视频云:如何打造高可用系统_第3页
资源描述:

《网易视频云:如何打造高可用系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、网易视频如何打造咼可用系统现在,网易视频云与大家分亨一下如何打造高可用系统。引言:系统稳定性就像阳光、空气、水一样,只有失左了才知道珍贵。谨以此文写给稳定系统后面默默支撑的朋友,以及不稳定系统背后勇于担当、拼命挣扎的朋友们。可用率是衡就系统稳定性的指标,任意时刻系统匸作正常的概率称为可用率,而所谓“工作正常”是指系统能达到它许诺的服务质量SLA(ServiceLevelAgreemenet)。各类系统SLA差别较大,典型的SLA有:1)memcache等key-value服务SLA通常是99.9%的读写请求在5s内返回。2)

2、hadoop系统的SLA是确保计算任务在每天早上7:00前完成,按时完成率98%,即全年发生延误次数不超过7次;可用率宕机时间每年90%(1个9)36.5天99%(2个9)3・65天99・9%(3个9)8.76小日寸99.99%(4个9)52分钟99.999%(5个9)5分铀99.9999%(6个9)31秒如上表所示,业界通常使用几个9來衡量可用率,以amazons3为例,其承诺可用率为4个9,即99.99%,那么-•年中最多52分钟不可用。做到4个9难度很大,相当冇技术含量,按照我们的经验,从发生故障到运维响应和修复故障,

3、整个过程控制在半个小时内就算不错了(包拆周末和半夜哦),所以4个9意味着一年最多岀两次故障。aws大牛jameshamilton说过单机房的可用率最高4个9,如果一个系统号称是4个9,但是没做跨机房高可用方案,那就是耍流氓,是在碰运气。要想打造-个真正高可川(稳定)的系统,必须确定可川率目标。根据业务特点重要程度定义SLA指标,过高过低都不行,一般來说,核心业务的SLA较高,非核心业务或者离线计算业务SLA要求较低。按照一定时间周期统计可用率,使用可用率衡量SLA达成情况,将可用率作为团队的璽要考核指标。理想情况卜一,系统应

4、该自动统计可用率,然而实际业务却很复杂,因此人多采用事故评审机制评审事务造成的不可川时间,人工统计维护可川率。举个例子,一个系统可能有多个重耍程度不等的功能点,针对多租户又有不同的SLA要求,不同事故可能影响不同功能点,影响不同租户,很难自动计算出一个可用率。既然很多时候是人工统计可用率,必然存在作弊可能性。关于可用率最常见的谋区是“隐瞒事故”,这种行为虽然提高了账面可用率,殊不知小错谋易藏,人问题难躲,如此不重视可用率,把风险隐藏起來,草草了事,对长期可用率有很大伤害。可用率=MTBF/(MTBF+MTTR),其中MTBF

5、,MeanTimeBetweenFailure,是平均无故障时间,而MTTR,MeanTimeToRepair,是平均修复时间。从上述计算公式可以看出,可用率与MTBF成止比,与MTTR反比,因此提高可用率的办法也可以分为故障避免和故障快速修复两类。一、故障避免措施运行好好的系统不会无缘无故的岀问题,一定是发生了某些变化,引发变化放可能因素是:1)线上变更,包括上线、扩容等等,只要碰到线上系统的都算。2)软便件故障,包括进程界常退出,操作系统死机,磁盘故障,网络故障,服务器故障等。3)负载变化,最常见的是负载上升。故障避免措

6、施也相应的分为三类1.变更管理措施。(1)不管是代码发布上线,还是配置修改;不管是扩容,还是缩容;不管是变更1台机器,还是百台机器,只要碰着线上都算是线上变更。(2)所有变更都应该经过测试和演练。以我们口己的云计算项目为例,我们会准备功能测试环境,性能测试环境,联调环境,演练环境,B级线上环境(不太亟要),A级线上环境等。一个线上变更,应该经过各种环境测试验证,确保变更不会影响系统本身以及关联系统。测试验证之后,一般是灰度发布上线,而且通常先发布到不重要B级环境,稳定一段时间Z后再发布到A级环境。(3)此外,线上变更应该是可

7、验证和可回滚的。一方而,一定要有一些手段要验证上线结果,持续观察一段时间确认上线成功。另外一方面,线上变更不可能100%成功,务必准备一个回滚方案,遇到升级不成功时第一时间回滚,而不是在线上定位和修复问题。2.软硬件故障。由于在大型分布式系统中,磁盘、服务器等软硕件故障是常态,容错应该作为一个系统特性,在设计之初就充分考虑。(1)简化问题。降低系统出错概率的首要原则是尽可能简化设计,简化架构,简化算法,O(N2)复杂度但简单可靠的算法不见得不能用。尽量避免过早优化,或者只能小幅度捉升性能的优化。(2)提高组件可用性,讐如使用

8、可靠的硬件,使用成熟的开源软件,使用成熟的云计算服务。(3)通过冗余提高容错能力。冗余可细分为信息冗余,计算冗余和时间冗余三种。信息冗余技术包押;,多副木、纠删码等,可应对数据丢失故障。计算冗余是指使川多份物理设备,或者服务进程,单个故障不影响整体可用性,避免出现单点故障。时间冗余涵盖重试

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。