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