王慶友 2003年畢業于浙江大學,計算機碩士。前1號店首席架構師,先后就職于ebay、騰訊、1號店等大型互聯網公司。精通電商業務,擅長復雜系統業務建模和架構分析,尤其在大規模分布式系統的
SOA/微服務改造方面有很深入的理論和實踐。
王慶友
APP服務端架構變遷及發展歷史
據王慶友老師介紹,APP是最近3-5年興起的,其服務端架構大致經歷了三個階段:
1. APP剛剛誕生時,其功能非常簡單,無線team負責服務端建設,通過直接訪問各個業務系統庫表數據或調用接口,簡單封裝后,提供給APP使用。
2. 隨著APP的功能逐漸豐富,APP服務端架構開始全面拷貝web端的功能,服務端分散化,由各個業務系統直接對外提供。
3. 之后,APP針對無線的特點獨立發展,由獨立的網關提供服務端服務,無線team提供網關基礎設施和系統級功能,業務系統team提供業務功能,兩者無縫銜接,統分結合,支持APP高效擴展。
如何分析APP系統級功能需求和結構?
APP一般需要通信、協議數據封裝、信息上報(性能監控和行為監控),本地數據存儲,Native模塊和H5通信等功能。在結構上,通信和協議數據封裝屬于底層,對業務系統透明,其它屬于公共模塊,業務模塊可以直接調用。
何為架構的本質?
一個軟件系統隨著功能越來越多,調用量急劇增長,整個系統逐漸碎片化,越來越無序,最終無法維護和擴展,所以系統在一段時間的野蠻生長后,也需要及時干預,避免越來越無序。
在首席架構師眼里,架構的本質是“拆”和“合”。拆是把系統拆分為各個子系統/模塊/組件,拆的時候,首先要解決每個組件的定位問題,然后才能劃分彼此的邊界,實現合理的拆分。合就是根據最終要求,把各個分離的組件有機整合在一起,相對來說,第一步的拆分更難。
拆分的結果使開發人員能夠做到業務聚焦、技能聚焦,實現開發敏捷,合的結果是系統變得柔性,可以因需而變,實現業務敏捷。
架構師應該具有的能力
王慶友老師表示,對架構師能力要求比較全面,具體來說,需要以下能力:
1. 首先他必須是一個出色的程序員,對代碼和系統有很好的駕駑能力。
2. 要有技術的廣度(多領域知識),還要有深度(技術前瞻),對主流公司的系統設計非常了解,知道優劣長短,碰到實際問題,很快有多種方案可供評估。
3. 抽象思維是架構師最重要的能力,架構師要善于把實物概念化并歸類。
4. 透過問題看本質則是由虛到實,往深層次地挖掘,快速識別木桶的短板并解決。
5. 要有良好的溝通能力,確保各方對架構達成共識,愿意采取行動;
6. 要有良好的平衡取舍能力,確保架構在現有資源約束下是最合理的,理想最終照進現實。
作為電商,App服務端架構有哪些特點?
1. 內部功能的共性和個性
電商一般會同時有APP和WEB端,它們內部共用一套服務。作為APP服務端,首先要統一對接內部服務,然后針對APP特點做適配,比如數據格式轉換,聚合內部多個服務以提升傳輸效率等。
2. 統分結合,多團隊合作
電商APP服務端的功能很多,單獨的一個團隊(team)不可能包攬所有,一般會采用多團隊合作的模式,無線團隊負責系統級的功能(如通信協議/數據封裝、安全、監控等),業務系統團隊負責具體業務功能。
3. 故障隔離,高可用性
電商APP服務端接口由多個后端team提供支持,并且在大促的情況下,某些接口調用量急劇變大,服務端架構必須支持接口資源的相互隔離,避免一個接口出問題,影響APP全部功能。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:聽首席構架師論大型APP服務端架構
本文網址:http://www.guhuozai8.cn/html/support/11121519808.html