我們本身是一家互聯(lián)網(wǎng)金融公司,公司的主流業(yè)務(wù)就是p2p,因為各種原因吧,15年底啟動建設(shè)眾籌平臺??紤]到前期開發(fā)過程中的一些弊端和架構(gòu)經(jīng)驗,本次架構(gòu)引用了dubbo做soa服務(wù)的治理,web容器nginx+tomcat,后端語言采用java,框架選擇spring+mybaits,前端模板引擎使用的是btl,app采用原生+h5的模式。這個架構(gòu)可以參考我之前寫的文章從零到百億互聯(lián)網(wǎng)金融架構(gòu)發(fā)展史中的第三代系統(tǒng)架構(gòu),之前的文章主要介紹了架構(gòu)的變遷,本篇文章主要介紹在第三代平臺中遇到的問題以及解決方法。
首先介紹一下眾籌系統(tǒng)的部署架構(gòu)(如下圖),網(wǎng)站和app請求都是首先到最前端的nginx,如果只是靜態(tài)內(nèi)容的訪問nginx直接處理后返回;動態(tài)請求分別轉(zhuǎn)發(fā)到后端的tomcat前端服務(wù)層,前端服務(wù)層只關(guān)注頁面端業(yè)務(wù)邏輯不涉及數(shù)據(jù)庫的操作,如果只是頁面框架渲染以及不涉及數(shù)據(jù)庫的請求,在前端服務(wù)層直接處理返回;如果涉及到數(shù)據(jù)庫操作或者核心業(yè)務(wù)邏輯,前端服務(wù)層通過dubbo調(diào)用后端的接入層服務(wù)或者核心層服務(wù)。
上線在生產(chǎn)測試期間,發(fā)現(xiàn)tomcat過一段時間就會莫名奇妙的down掉,特別是后端的tomcat down掉的頻率比較高。后端的tomcat down掉之后對前端的頁面展示沒有影響,會影響后端的交易。