21 | AKF立方体:怎样通过可扩展性来提高性能?
陶辉
该思维导图由 AI 生成,仅供参考
你好,我是陶辉。
上一讲我们谈到,调低一致性可以提升有状态服务的性能。这一讲我们扩大范围,结合无状态服务,看看怎样提高分布式系统的整体性能。
当你接收到运维系统的短信告警,得知系统性能即将达到瓶颈,或者会议上收到老板兴奋的通知,接下来市场开缰拓土,业务访问量将要上一个大台阶时,一定会马上拿起计算器,算算要加多少台机器,系统才能扛得住新增的流量。
然而,有些服务虽然可以通过加机器提升性能,但可能你加了一倍的服务器,却发现系统的吞吐量没有翻一倍。甚至有些服务无论你如何扩容,性能都没有半点提升。这缘于我们扩展分布式系统的方向发生了错误。
当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能?
在面对 Scalability 可伸缩性问题时,我们必须有一个系统的方法论,才能应对日益复杂的分布式系统。这一讲我将介绍 AKF 立方体理论,它定义了扩展系统的 3 个维度,我们可以综合使用它们来优化性能。
如何基于 AKF X 轴扩展系统?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
AKF立方体理论提出了X轴、Y轴和Z轴三个维度的系统扩展方法,分别适用于不同的系统性能提升需求。X轴扩展通过水平复制应用进程来提升系统性能,适用于无状态服务的快速扩展,成本低效果明显。Y轴扩展则是将功能拆分出来,使得各组件的职责更细,提升系统效率,但实施成本较高。Z轴扩展基于用户信息,例如分库分表提升性能,实施成本相对较低。文章通过实际案例解释了这三种扩展方式的应用场景和优缺点,为读者提供了系统化的扩展思路。总的来说,X轴扩展成本低效果明显,Y轴扩展能提升系统效率,Z轴扩展则能基于用户信息提升性能,但实施成本较高。读者可以根据自身系统需求选择合适的扩展方式,甚至同时应用这三个维度扩展系统,以最低的成本提升性能。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《系统性能调优必知必会》,新⼈⾸单¥59
《系统性能调优必知必会》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 忆水寒X轴扩展,将单个应用多起几套服务器进行扩展。Y轴扩展,类似于数据库读写分离,均分流量。Z轴扩展,根据地域进行负载均衡。
作者回复: 是的,Y轴的开发成本最高
2020-09-233 - 唐朝首都(1)以质数为基数;(2)充分利用key的个性信息2020-06-2410
- NullPointer传统单体应用演变Y轴可以理解为逐渐拆解微服务化,Z轴可以理解为为特定服务进行分库分表进一步拆解,代价也逐渐扩大,收益理论上也是对等。2020-06-304
- 林铭铭总结下:扩实例,拆功能,拆数据2021-06-213
- J.Smile又来读了一遍。挺有感触的,技术是不断演进的,能用最简单方式解决的问题,就不要用复杂方式,AKF立方体随x,y,z依次增加了复杂度。其中x,y倾向于提升并发性能,而z倾向于克服容量窘境。分布式系统的两大难题也就体现了,高并发与分布式存储,进而引出CAP理论中分布式架构数据存储一致性和可用性的权衡。y轴功能拆分如读写分离需要解决一致性读的问题,x轴水平复制只能是无状态,避免了一致性问题,则重在提升可用性问题。z轴分库分表,既面临拆分之后数据的可用性问题,又面临可用性冗余数据复制带来的一致性问题,更加复杂了。2021-04-051
收起评论