特來電雲平台從創立到現在已有2年多時間,總結來說,我們主要有2個階段的發展:
1.2015年是雲平台發展的元年,在這一年我們快速搭建了充電系統,因為公司成立不久,我們沒有專業的公共技術團隊,在技術架構上做的不好。在1.0研發的過程中,我們也意識到了這個問題的嚴重性,所以在15年下半年組建公共技術團隊,專攻基礎組件和技術平台。
2.2016年是第二個階段:在這一年中公共技術平台有了跨越式的發展,我們先后開發了多個服務平台:比如服務網關、服務框架、監控預警平台。這些平台上線后,立即進行了業務遷移。通過技術平台的開發:我們期望在業務急速增長的過程中,可以通過追加機器的方式,快速實現系統的平滑、水平擴容。
雲平台1.0的架構比較簡單,是一個三層架構。通過這個圖可以看到,整個架構中沒有公共技術的位置。在這個模式下,業務系統對技術的復用度比較低。應用的架構、模式都是自由發揮的。這樣每個系統在開發的過程中,都要實現業務特性和技術特性。容易形成:業務不專,技術不強的情況,並且各個程序對分布式、高可用實現的程度參差不齊。
在1.0的架構下,我們遇到了非常多的問題!
基於1.0的這些問題,我們在15年底就開始思考解決方案。首先,我們分析了特來電業務系統的特點。我們公司的充電業務是典型的互聯網應用,對可用性、並發性等要求都非常高。傳統的1.0的這種“煙囪式”的開發,很難達到互聯網應用的要求。所以,公共技術的平台化是我們發展的的一個必然方向。基於此,我們重構了特來電業務系統的技術架構,下面是我們2.0的架構:
2.0架構的核心是平台化。在新的架構中,我們把系統分為了四層:前端、服務網關、服務平台、基礎組件,並提供了集中化配置和監控預警。通過服務網關、服務平台、基礎組件,我們規划了服務端的開發。通過配置中心和監控預警來提供系統的運維能力。
通過2016年的努力,我們做到了:
1.建立了結構完整、功能完備的服務端開發、運維框架,實現服務端開發、運行的全平台化。
2.服務端程序的運維基本做到了360度、無死角監控。