CTO訓練營第一季畢設:"e管家"系統當前架構及升級
導語:CTO訓練營***季已經圓滿收官,作為一個學習分享和社交的平臺,CTO訓練營提供的不光是知識分享,還有一個屬于技術管理者的人脈圈子。結課之后,***季學員提交了畢業設計,來對四個月以來的學習進行總結與回顧,部分論文由CTO導師進行點評和打分。
"e管家"系統當前架構及升級 楊一甲 天津聯創宏圖CTO
我司主要產品為社區類O2O平臺“e”管家,在此選擇“當前系統技術架構總結分析,并給出解決方案”為課題,進行答辯。
1.1.當前系統架構
本項目整體架構如下圖所示。
基本架構就是當前典型的移動互聯網系統架構。客戶端通過restful web服務進行對業務邏輯操作。通過負責均衡服務器實現分流和容災。將業務部署在兩臺阿里云服務器上,采用nginx web服務器,主要業務邏輯通過php及python實現。數據庫為mysql,目前沒有做分別分庫處理,只是實現了MySql的主從復制和讀寫分離。文 件服務通過七牛云存儲實現。監控運維通過聽云實現。
就當前架構來說,我們的優點為架構簡單,基本滿足了當前的業務需求。并充分利用了當前市場上的第三方服務,如負載均衡、云服務器、云數據庫都利用了阿里云,即時通訊使用了融云,通知推送使用了JPush以及前面提到的聽云和七牛。這樣大大節省了我們的開發成本和上線速度。
缺點為目前架構簡單,如果業務量發生突然增長,只能通過添加硬件的形式滿足業務增長。并且小區數量和用戶數量爆發增長,那么數據庫當前架構無法支持系統工 作。并且當前公司商業模式比較復雜,主要存在與物業合作、招募合伙人、定制開發三種擴展模式,從而導致了客戶端多樣性、接口混亂等問題。在開發方面,缺乏 自動化部署,如果未來服務器數量增多,則會導致代碼上傳問題。
現正在進行的優化有客戶端組件化、按照業務邏輯(不同小區)進行分表分庫處理、部署自動化發布平臺等等,詳細解決方案不一一說明,在下節對項目的整體架構優化進行說明。
1.2. 項目升級架構
2. 2.1系統設計架構
根據課程所學內容,對整體系統設計如下圖所示:
客戶端通過統一接口,連接服務器,實現各種業務。其中將業務層分為四大類:基礎服務、公用服務、行業服務、可定制服務。其中如通知推送、即時通訊、短信服務 等為基礎服務;幫幫、電商、論壇等為公共服務;物業報修、物業投訴、社區電話等為行業服務;通用查詢、領域應用、衍生應用為可定制服務。在這些業務之下, 提供了組件服務和基礎服務能夠更加穩定高效的實現業務層邏輯。并提供云管理后臺,實現用戶、社區等業務管理,并提供鏡像管理、可用性管理、安全管理等資源 管理實現系統的高可靠性、高穩定性。同時提供了自動化發布系統讓系統服務自動化升級,以及在線測試平臺、運行監控平臺保證及時發現、修正系統問題。
2.2技術架構
本項目技術架構如下圖所示:
在原有系統上,增加計算層、存儲層、采集層、調度層,增強系統的穩定性、高效性、可靠性。
導師點評:七樂康高級技術總監曲毅
評分:B
評語:層次分的非常清晰,其中webcontroller和appcontroller根據具體的應用場景和靈活性對service進行了適配轉換。這里提出一個觀點僅供思考,我們說系統架構,除了后端架構。其實前端也可以架構。或者我們的前端和后端可以統一架構。 例如我們的web和app還有微信。如何采用架構減少適配,減少編碼,減少業務邏輯的重復編寫? 在本設計圖中,沒有看到前端的架構。提出觀點,是否可以前后端統一架構,這樣我們能設計出性能更好,更靈活的系統,是否有這樣的可能性。
【CTO訓練營】是51CTO高招旗下,面向中高端技術管理人才,提供技術和管理的學習以及人脈和資源平臺,旨在打造技術經理的MBA,為行業輸送更多CTO人才,第二季CTO訓練營課程內容參照CTO勝任能力以及延展能力設計,包含技術與架構、技術與管理、商業運營、敏捷個人管理4大模塊,聘請一線互聯網平臺CTO擔任導師,完成為期12天的課程學習之后,參與畢業典禮,輔修學分,完成結業。