一:系統瓶頸的出現
隨着業務量的極速擴增,現有系統的部署條件已經不足以滿足高可用、高性能的要求,就需要對系統部署進行優化。
如果從一開始就考慮到了業務增加的情況,當初部署的時候就按照橫向擴展的架構進行,則可以避免許多麻煩。
二:垂直擴展(scale-up)
這是最簡單粗暴的做法,一般用於系統上線之初沒有考慮到日后業務增長的情況,導致日后業務量暴增時系統性能受到影響。
此時只能升級部署條件,用更好的服務器,提高CPU處理核數、內存數、帶寬等,但是這樣需要進行遷移,復雜難度增加而且容易出錯。
但是如果一開始就過分高估自己的業務量,采購了比目前實際需求更高的存儲或服務器,會導致資金的浪費。
三:橫向擴展(scale-out)
橫向擴展的優勢在於:用多台一般配置的服務器,共同提供服務,而且隨着業務量的變化可以靈活伸縮服務器集群數。
在初期,可以只部署1~2台一般配置的服務器即可滿足需求,隨着業務量的增加與系統性能瓶頸的出現再逐步增加服務器數量即可。
橫向擴展的部署架構:使用Nginx作為負載均衡器,應用部署到多台服務器,統一使用Nginx作為訪問入口,由Nginx對請求進行分發處理。
每增加一台服務器,只需在部署成功后,在Nginx中配置一下,重啟Nginx即可。
能力提升點:
1)自動化部署:實現腳本化部署