晚上看到了58沈剑的这篇文章,讲了系统在慢慢变大时要考虑做的优化,动静分离、前后端分离、读写分离。很多系统都在做,但知道如何应该做,做到什么程度,如何小成本高收益是个问题。
创业型公司早期讲究快速迭代,随着业务发展,用户量越来越多,系统会开始遇到一些性能瓶颈,作为“实现产品功能”的程序员,要逐步开始分析性能瓶颈,硬着头皮上,被迫优化系统架构。
初为架构师,使用“三个分离”架构设计原则,可以在对原有系统改造尽可能小的情况下,快速提升系统性能,是架构师在接手一个新系统时,最喜欢用的三板斧。
一、动静分离
功效:极大提升站点访问速度
文章:《动静分离,改造小收益大》
内容:
什么是动静分离,解决什么问题
如何快速实施动静分离
页面静态化架构优化技术
二、读写分离
功效:快速线性提升系统的读性能
文章:《读写分离,改造小收益大》
内容:
什么是读写分离,解决什么问题
什么是水平切分,解决什么问题
读写分离与微服务缓存方案的优劣
画外音:读写分离架构能够快速实施,微服务缓存架构对系统改造相对较大,创业初期非常适合使用读写分离。
三、前后台分离
功效:快速解除用户侧与后台侧系统耦合
文章:《前后台分离,改造小收益大》
内容:
什么是前台后台分离,解决什么问题
前后台数据耦合,业务场景举例
前后台分离,数据异步冗余方案
说明,前台后台分离,不是展现层前端与业务层后端分离,不是node.js那一套,前后端分离的架构详见下文:
《前后端分离的缺点》