随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课。从产品角度来看,性能就是“攻城略地”的最佳武器,我们期待能更苛刻地使用计算机和网络设备,去做性价比更高的事儿;而对程序员个人而言,具备系统的性能优化方法论,无论在架构设计还是应用模块开发上我们都能得心应手,还能轻松应对大厂面试、技术等级晋升考核等等。
当下业务发展速度极快且复杂,后端几乎都是分布式系统,“如何全面提升复杂集群的性能”无疑成为了最新课题。但如果你有意关注过这方面的信息,就会发现这部分资料市面上其实少之又少。
本课程将结合陶辉老师近20年的从业经验,为你归纳总结分布式性能领域所遇到的问题和解决方案,梳理出一条系统化的性能学习路径交付给你。在陶辉看来,解决性能问题并不难,关键在于抓住问题的本质,而最终要落地的就是最大化整个系统的综合效率。
具体内容上,分为4个层次,从基础设施、网络、编解码到分布式系统性能整体提升。
基础设施优化:从提升单机进程的性能入手,包括高效地使用主机的CPU、内存、磁盘等硬件,通过并发编程提升吞吐量,根据业务特性选择合适的算法。
系统层网络优化:分布式系统是由各个组件通过网络连接在一起的,所以优化传输层网络可以让所有组件同时受益。具体优化时,会从降低请求的时延、提升总体吞吐量两个方向入手。
应用层编解码优化:会对业务消息采用更高效的编码方式,这既包括协议头、包体的优化,也包括TLS安全层的性能提升。具体优化时,既会深入静态编码,也会从动态的增量编码上优化。另外,也会格外关注消息的交互方式。
分布式系统优化:会从集群整体上进行架构层面的优化。基于ACP、AKF、NWR等分布式理论,优化方向仍然是降低时延和提升吞吐量,但实现方式则会运用分而治之的思想,调度集群中的所有结点协作配合,完成性能优化目标。