一:系统瓶颈的出现
随着业务量的极速扩增,现有系统的部署条件已经不足以满足高可用、高性能的要求,就需要对系统部署进行优化。
如果从一开始就考虑到了业务增加的情况,当初部署的时候就按照横向扩展的架构进行,则可以避免许多麻烦。
二:垂直扩展(scale-up)
这是最简单粗暴的做法,一般用于系统上线之初没有考虑到日后业务增长的情况,导致日后业务量暴增时系统性能受到影响。
此时只能升级部署条件,用更好的服务器,提高CPU处理核数、内存数、带宽等,但是这样需要进行迁移,复杂难度增加而且容易出错。
但是如果一开始就过分高估自己的业务量,采购了比目前实际需求更高的存储或服务器,会导致资金的浪费。
三:横向扩展(scale-out)
横向扩展的优势在于:用多台一般配置的服务器,共同提供服务,而且随着业务量的变化可以灵活伸缩服务器集群数。
在初期,可以只部署1~2台一般配置的服务器即可满足需求,随着业务量的增加与系统性能瓶颈的出现再逐步增加服务器数量即可。
横向扩展的部署架构:使用Nginx作为负载均衡器,应用部署到多台服务器,统一使用Nginx作为访问入口,由Nginx对请求进行分发处理。
每增加一台服务器,只需在部署成功后,在Nginx中配置一下,重启Nginx即可。
能力提升点:
1)自动化部署:实现脚本化部署