從2015年6月百度離職后,加入創(chuàng)業(yè)公司到現(xiàn)在已經(jīng)將近兩年了。新系統(tǒng)的架構隨著時間的推移做了非常多的變化以及調(diào)整,在這里對自己系統(tǒng)的架構的演進歷程以及為什么做這種優(yōu)化處理做一些總結,并講述一下各個過程遇到的問題與解決方式。
在創(chuàng)業(yè)初期,為了趕上線進度一開始的時候,一切以功能為主,且創(chuàng)業(yè)初期資金有限,沒有采購太多的服務器資源,因此系統(tǒng)在技術架構層面沒有做太多的設計,系統(tǒng)的所有資源都放在一個服務器上,此時系統(tǒng)的架構可以如下:
在這個系統(tǒng)架構上面,通過一個固定IP的Linux機器,使用Tomcat服務器搭建了僅面向PC的Web服務。在這種單服務應用會存在的問題會存在的問題有:
服務不穩(wěn)定
由于每次代碼升級都需要重啟服務,會造成服務有小段時間的停服情況。
服務器性能瓶頸
由于單個服務的并發(fā)能力有限(tomcat并發(fā)處理上線600tps就比較高),且業(yè)務和數(shù)據(jù)庫都部署在一個機器上面,隨著業(yè)務發(fā)展,對服務器性能的要求會越來越高。
JVM不方便調(diào)