系统性能调优必知必会
陶辉
智链达 CTO,前阿里云 P8 高级技术专家
36367 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
系统性能调优必知必会
15
15
1.0x
00:00/00:00
登录|注册

21 | AKF立方体:怎样通过可扩展性来提高性能?

数据迁移成本高
提供就近服务
解决数据增长问题
上线部署复杂
需要重构代码
提升系统效率
解决数据增长带来的性能压力
无法解决有状态服务的性能问题
实施速度快
开发成本低
成本
优点
用户信息拆分
成本
优点
功能拆分
限制
优点
无状态服务
可同时应用X、Y、Z轴扩展系统
Z轴扩展
Y轴扩展
X轴扩展
哈希函数设计
综合应用
AKF立方体
思考题
性能提升方法

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

你好,我是陶辉。
上一讲我们谈到,调低一致性可以提升有状态服务的性能。这一讲我们扩大范围,结合无状态服务,看看怎样提高分布式系统的整体性能。
当你接收到运维系统的短信告警,得知系统性能即将达到瓶颈,或者会议上收到老板兴奋的通知,接下来市场开缰拓土,业务访问量将要上一个大台阶时,一定会马上拿起计算器,算算要加多少台机器,系统才能扛得住新增的流量。
然而,有些服务虽然可以通过加机器提升性能,但可能你加了一倍的服务器,却发现系统的吞吐量没有翻一倍。甚至有些服务无论你如何扩容,性能都没有半点提升。这缘于我们扩展分布式系统的方向发生了错误。
当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能?
在面对 Scalability 可伸缩性问题时,我们必须有一个系统的方法论,才能应对日益复杂的分布式系统。这一讲我将介绍 AKF 立方体理论,它定义了扩展系统的 3 个维度,我们可以综合使用它们来优化性能。

如何基于 AKF X 轴扩展系统?

AKF 立方体也叫做scale cube,它在《The Art of Scalability》一书中被首次提出,旨在提供一个系统化的扩展思路。AKF 把系统扩展分为以下三个维度:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

AKF立方体理论提出了X轴、Y轴和Z轴三个维度的系统扩展方法,分别适用于不同的系统性能提升需求。X轴扩展通过水平复制应用进程来提升系统性能,适用于无状态服务的快速扩展,成本低效果明显。Y轴扩展则是将功能拆分出来,使得各组件的职责更细,提升系统效率,但实施成本较高。Z轴扩展基于用户信息,例如分库分表提升性能,实施成本相对较低。文章通过实际案例解释了这三种扩展方式的应用场景和优缺点,为读者提供了系统化的扩展思路。总的来说,X轴扩展成本低效果明显,Y轴扩展能提升系统效率,Z轴扩展则能基于用户信息提升性能,但实施成本较高。读者可以根据自身系统需求选择合适的扩展方式,甚至同时应用这三个维度扩展系统,以最低的成本提升性能。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《系统性能调优必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 忆水寒
    X轴扩展,将单个应用多起几套服务器进行扩展。Y轴扩展,类似于数据库读写分离,均分流量。Z轴扩展,根据地域进行负载均衡。

    作者回复: 是的,Y轴的开发成本最高

    2020-09-23
    3
  • 唐朝首都
    (1)以质数为基数;(2)充分利用key的个性信息
    2020-06-24
    10
  • NullPointer
    传统单体应用演变Y轴可以理解为逐渐拆解微服务化,Z轴可以理解为为特定服务进行分库分表进一步拆解,代价也逐渐扩大,收益理论上也是对等。
    2020-06-30
    4
  • 林铭铭
    总结下:扩实例,拆功能,拆数据
    2021-06-21
    3
  • J.Smile
    又来读了一遍。挺有感触的,技术是不断演进的,能用最简单方式解决的问题,就不要用复杂方式,AKF立方体随x,y,z依次增加了复杂度。其中x,y倾向于提升并发性能,而z倾向于克服容量窘境。分布式系统的两大难题也就体现了,高并发与分布式存储,进而引出CAP理论中分布式架构数据存储一致性和可用性的权衡。y轴功能拆分如读写分离需要解决一致性读的问题,x轴水平复制只能是无状态,避免了一致性问题,则重在提升可用性问题。z轴分库分表,既面临拆分之后数据的可用性问题,又面临可用性冗余数据复制带来的一致性问题,更加复杂了。
    2021-04-05
    1
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部