大规模数据处理实战
蔡元楠
硅谷资深工程师
41608 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
大规模数据处理实战
15
15
1.0x
00:00/00:00
登录|注册

04 | 分布式系统(上):学会用服务等级协议SLA来评估你的系统

p95和p99延迟定义
请求到响应时间间隔
定义准确QPS的方式
QPS和RPS定义
系统能够支持的预期负载量
Google Cloud Platform和亚马逊AWS的准确性定义比较
错误率定义
允许数据不准确或丢失的概率
99.9% Availability含义
系统服务正常运行时间百分比
优化方面
项目中的SLA
延迟
系统容量
准确性
可用性
系统服务提供者对客户的服务承诺
服务等级协议
大规模数据处理基础
蔡元楠专栏第二模块
思考题
SLA指标
SLA
介绍
分布式系统 SLA

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

你好,我是蔡元楠。
从今天开始,我们进入专栏的第二模块。通过这一模块的学习,带你一起夯实大规模数据处理的基础。
首先,我将结合硅谷顶尖科技公司的最佳实践 (Best Practice) ,和你一起分享在设计分布式系统架构时,我们有可能会碰到哪些雷区?又有哪些必备的基础知识?
在硅谷一线大厂所维护的系统服务中,我们经常可以看见 SLA 这样的承诺。
例如,在谷歌的云计算服务平台 Google Cloud Platform 中,他们会写着“99.9% Availability”这样的承诺。那什么是“99.9% Availability”呢?
要理解这个承诺是什么意思,首先,你需要了解到底什么是 SLA?
SLA(Service-Level Agreement),也就是服务等级协议,指的是系统服务提供者(Provider)对客户(Customer)的一个服务承诺。这是衡量一个大型分布式系统是否“健康”的常见方法。
在开发设计系统服务的时候,无论面对的客户是公司外部的个人、商业用户,还是公司内的不同业务部门,我们都应该对自己所设计的系统服务有一个定义好的 SLA。
因为 SLA 是一种服务承诺,所以指标可以多种多样。根据我的实践经验,给你介绍最常见的四个 SLA 指标,可用性、准确性、系统容量和延迟。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了分布式系统中的服务等级协议(SLA)的重要性和常见指标。作者首先解释了SLA的概念,指出SLA是系统服务提供者对客户的服务承诺,是衡量大型分布式系统健康的常见方法。然后,作者详细介绍了四个常见的SLA指标:可用性、准确性、系统容量和延迟。 在可用性方面,作者解释了不同可用性水平的含义,例如“99.9% Availability”意味着系统服务将会有大约86秒的服务间断期。在准确性方面,作者介绍了如何衡量系统的准确性,以及硅谷一线公司的准确性SLA定义。在系统容量方面,作者讨论了如何定义系统容量的准确QPS,并提出了三种方式:限流、性能测试和日志分析。 特别地,文章详细阐述了延迟指标的重要性,以及如何通过优化系统架构来降低p95或p99延迟,从而提高用户体验。最后,作者强调了定义系统架构的SLA对于优秀的架构师来说是必不可少的一项技能,也是一种基本素养。 总的来说,本文通过解释SLA的概念和常见指标,帮助读者了解了在设计分布式系统架构时需要考虑的重要因素,以及如何评估系统的健康状况。这对于从事大规模数据处理和分布式系统设计的技术人员来说是一篇具有实际指导意义的文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大规模数据处理实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(32)

  • 最新
  • 精选
  • sxpujs
    这几节干货有点少啊,也缺少一些实战和实例。

    作者回复: 这都是后面马上要用到的知识。不可能纯狠操猛干而没有知识支撑的。

    2019-04-24
    20
  • 时间是最真的答案
    作为一个学习大数据的新手,希望作者能用几篇文章讲解大数据处理中使用的技术如何搭建,运行,优化的,以及各个技术如何结合使用,这样新手也能玩起来

    作者回复: 谢谢你的建议!我在第10和第11讲里有根据所讲的基础知识展开介绍两种实战中的经典架构,也配合了一些硅谷这边的应用实例作讲解,希望能对你有所帮助。

    2019-04-24
    20
  • Tomcat
    SLA,即服务等级协议,规定了我们的工程的质量和目标,这使得我们的工作具有可衡量的尺度。 以前我在中国移动做专线提供服务的时候,对这个颇为敏感,移动的专线产品,确实有许多不足之处,但是这让我构建了服务质量可以使用具体技术指标度量的理念。 对于现在我正在做的产品,同样也有一些苛刻的要求,所以通过本文,我构建了服务质量度量体系~

    作者回复: 谢谢你的经验之谈!

    2019-04-24
    4
  • 滨 风暴
    我的理解是为了提高SLA,系统就要达到一定的冗余度,对于大数据来说存储和计算使用的资源就更多,所以定义SLA的时候,是不是还是要考虑一下成本,或者有没有提供高SLA的轻量化系统架构?

    作者回复: 的确如此

    2019-05-22
    1
  • Blakemmmm
    请问老师可用性的数据一般是如何测出或算出的呢?内部测试时不可能测试那么长时间,而短时间的测试又无法反应随着运行时间增长导致的系统更容易出问题的概率。

    作者回复: 谢谢你的提问!可用性数据一般都需要系统运行一段时间的,无论是内测也好,还是其他方式也好。如果用户量没有这么大的话,可能需要自己写Prober去模拟一些常用操作去做测试。

    2019-05-16
    1
  • 王众
    回复里看到老师“纯狠操猛干”的用语,是在和这个斯文的头像不配哈,挺适合我的头像。感谢老师对很多留言的耐烦解答与鼓励。

    作者回复: 谢谢你的支持!希望你能从专栏里学习到知识!

    2019-05-05
  • 程序设计的艺术
    你好,老师,目前的大数据处理架构该是什么样子呢?我这边有每天40多万行数据形成数据仓库,离线匹配行记录,使用什么方法可以快速处理?谢谢

    作者回复: 可能可以参考下10介绍的lambda架构

    2019-04-25
  • kylin
    我们公司这边的SLA优化主要是对Hive处理数据,特别是源表是全量表时,要求处理时长越短越好。有的要求从1小时优化到40分钟。这里的SLA优化好像和讲的服务等级协议的四个指标关系不大吧

    作者回复: 谢谢你的留言!这一讲中所讲述到的SLA只是常见的一些指标,你也当然可以为自己的服务定义自己公司的指标,这都是良好的习惯。

    2019-04-24
  • Joseph
    在实际应用SLA的时候,有两点不解: 1. 在设计系统之初,大家拍脑袋来定义SLA。这个时期,SLA对应需要付出的成本还不明确,这样大家都会趋于订出很高标准。这种情况有好的解决办法吗? 2. 虽然定义了SLA,但在架构设计的时候,如何评估架构是否能满足SLA呢?等到软件实现了再来测试,似乎有点太晚了……请教老师一般是如何处理这两个问题的呢?
    2019-04-24
    2
    49
  • Dany
    我觉得这一节超赞。基础概念很重要,很重要,很重要。 实战这种事情,有的是时间去practice,而SLA这几个关键概念,会成为很多人理解的迷雾。 当我发现我的lead,拉着一大堆自己也还没理解清楚SLA指标去拉KPI,扛大旗的时候,我才进一步,深刻体会到这一节内容的重要性^ ^
    2019-04-27
    25
收起评论
显示
设置
留言
32
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部