電商
亞太地區
中小企業/初創企業
"在閑魚,Serverless架構賦能雲端一體化編程模型。藉助該模型,開發所需人天減少了30%以上。同時,由於代碼量更少、規範性更高,缺陷率降低了20%。"
Shubin Wang,
進階技術專家,閑魚
關於閑魚
閑魚(Idle Fish)是依託阿里巴巴集團電商體系的二手交易平台。面對複雜的二手市場,閑魚提供獨特功能以滿足使用者的差異化需求。在底層依託阿里巴巴集團電商體系的基礎上,閑魚致力於在展示層和服務層探索更敏捷、更靈活的研發體系。
挑戰
閑魚現有IT系統面臨以下痛點:
1. 使用者互動層、服務層和領域層的邊界定義不清晰。即使是很小的專案,也需要大團隊來完成,導致協作成本高、開發和調試周期長。
2. 服務端存在大規模應用。研發、發布和營運流程緊密耦合,帶來嚴峻的系統穩定性挑戰——單個服務問題就可能影響整個應用。
3. 營運成本極高。為保證服務穩定性和可用性,阿里巴巴為所有上線應用制定了規範和規則。每個應用都必須遵循這些規範,即使每天僅被訪問一兩次也不例外。因此,無論訪問頻次如何,每個應用都會消耗資源。單個應用消耗的資源或許有限,但所有應用加起來則會消耗大量資源。對於大規模應用,營運成本更是極高,因為必須遵循更嚴格的發布流程和程式,而且一次版本發布至少需要六小時。
為什麼選擇阿里雲
為解決上述問題,閑魚決定採用阿里雲提供的Serverless架構。該架構能夠提升應用的營運能力,協助閑魚突破傳統大規模應用在速度、穩定性和品質方面的局限。
為落地雲原生和Serverless架構,閑魚首先在混合專案開發體系和高效能組件庫中引入Flutter,隨後聚焦Serverless架構的關鍵挑戰,包括研發體系的雲上整合,以及服務編排層的服務端架構設計。
閑魚基於Flutter架構最佳化了應用架構,並推出創新方案提升Android和iOS雙技術棧的研發效率。此外,閑魚引入Flutter + Serverless方案,致力於解決團隊協作中的諸多問題。
引入Serverless架構後,閑魚的研發效率有望大幅提升。
架構
基於阿里雲Serverless架構,閑魚做了以下改進:
1. Nexus API。作為雲上編程模型的整合架構,Nexus API旨在將Flutter和函數即服務 (FaaS) 的編程模型整合為統一平台,涵蓋使用者介面、互動、資料和邏輯。
2. 命令列介面 (CLI) 工具。該工具用於在雲上整合開發過程中,令用戶端開發人員無需關注FaaS開發的底層細節,從而標準化用戶端開發體驗,支援開發人員在本地開發應用。
3. 後端即服務 (BaaS)。閑魚正在逐步簡化Object Storage Service、訊息和搜尋等基礎服務能力,同時在領域層構建中繼資料中心。簡化的能力與領域層現有服務相結合,使用戶端開發人員能夠快速編排服務。
4. 雲端一體化專案。隨著Flutter的成功,閑魚建立了以Flutter為主、HTML5播放器為輔的跨端研發體系,使開發人員能夠統一Android和iOS技術棧。
展望未來
Serverless架構並非萬能藥,但它與服務層高度契合,適用於對傳統大規模應用進行服務層拆分。對閑魚而言,下一步就是將Serverless架構應用到大規模應用中。
精選
產品
產品
安全穩定、Auto Scaling、免營運、隨用隨付的Serverless計算平台
