百金貸系統(tǒng)架構
一.系統(tǒng)版本迭代
v1 Play1.x全棧開發(fā)
Play1.x + MySQL
問題:
1. 缺少熟悉Play1.x的開發(fā)人員
2. JPA(Hibernate)? ActiveRecord難以優(yōu)化,導致MySQL數(shù)據(jù)庫死鎖頻繁
3. Groovy模板引擎小眾
v2? SSM
SpringMVC + MyBatis + Oracle
v3雙賬戶
存管上線,開啟雙賬戶,加入消息隊列
問題:
1. 開發(fā)人員集中開發(fā)同一個系統(tǒng),沖突嚴重
2. 頻繁新增的小需求,需要重啟整個服務
3. 前端資源的CDN緩存問題
4. Restful url設計問題?命名問題?代碼規(guī)范問題?跨層次調(diào)用問題?
v4 SOA服務化
* 基礎服務(全局配置、文件存儲、消息服務)
* P2P核心業(yè)務服務(用戶、賬戶、訂單)
* Web門戶(主站/BBS/積分商城)、網(wǎng)關(通知服務/Restful API for H5 & App)
二.百金貸v4 TODO
* v4.0服務端Restful API實現(xiàn),H5和APP保持界面和數(shù)據(jù)接口統(tǒng)一
? ? 1. 理解Restful
? ? 2. SpringMVC +Swagger2實現(xiàn)Restful API
? ? 3. 區(qū)分Bean和Dto,驗證框架Hibernate Validator啟用
? ? 4. H5 site工程化,全靜態(tài),獨立部署
? ? 5. APP接口改造
* v4.1配置服務器Zookeeper部署,實現(xiàn)無重啟修改配置項
* v4.2服務化拆分,實現(xiàn)核心業(yè)務與門戶、網(wǎng)關解耦,單獨部署