打包類產品的架構邏輯

上一節梳理了一下打包類產品的產品邏輯,本節對該產品的架構邏輯做一下梳理。

產品用戶包括兩類,平臺投資人和系統管理員。平臺投資人是本系統的主要用戶,平臺為投資人定製的功能包括通用的充值和提現,本打包類產品針對投資人提供的功能主要包括投資、結算和債權轉讓。系統管理員主要提供對系統的運維和管理,包括的功能主要有資產包打包、放款、還款、監控和報表。系統用例圖如下:

該產品總體首先從業務層面來說,首先是標的進件,然後通過後臺對標的打包並發布,資產包通過門戶展示,投資人通過門戶認購投資,當全部認購完成後,通過後臺向資產方放款,借款人按期付息,平臺按期結算向投資人付息,標的到期還款,還款本金購買新標,投資人通過債權轉讓退出,在這整個信息流的過程中伴隨著各種協議計算,在資金流動的過程中伴隨著資金監控。按著如上業務描述,整個平臺模塊劃分如下:

由上圖不難看出該系統是按著分層進行架構設計的。從系統調用量上來講,本系統初設預估TPS為200,如果按著傳統的單應用設計,也能撐得住。但是為了系統長遠發展的可擴展、可伸縮性考慮,系統被設計為前中後端。前端門戶包括Web站點和Wap站點,門戶主要負責系統的展示,不直接和資料庫打交道,所有的數據存取都通過中臺服務完成,門戶系統不設狀態,Session管理通過分散式緩存Redis來完成。中臺服務根據業務模塊劃分為投資、結算、放款、還款、債權轉讓、協議計算、資金監控七個獨立子系統,分別被設計為無狀態restful服務。

投資,通過門戶投資人搶標生成投資記錄,並凍結用戶資金,然後通過非同步的定時任務完成最終的投資操作(參考前面章節<微服務優化之非同步調用>)。

結算,通過定時任務拉取用戶投資記錄,根據投資時間,投資金額,投資利息,進行結算生成結算記錄,並完成利息資金劃撥。

放款,在資產包完成募資後,通過後臺管理界面出發放款動作。

還款,通過後臺查看到期標的,核對會計賬目,將到期本息,進行資金劃撥完成還款。

債權轉讓,通過門戶投資人申請債權轉讓,生成債權轉讓掛牌記錄,債權認購人,通過債權認購生成債權轉讓記錄。

系統部署上,主要用戶流量來源於Web門戶端,採用兩臺門戶通過nginx進行負載均衡。核心服務分別部署在兩臺伺服器上。資料庫採用一主一從Oracle,獨立部署。


推薦閱讀:
相關文章