微服務的概念最早由Martin Fowler與James Lewis於2014年共同提出,並隨著Netflix最佳實踐的釋出而為業界所知。如今,在國內有了大量的微服務實踐案例,5月18日,網易雲聯合雲片在武漢主辦“微服務架構落地的最佳實踐”活動,網易雲、雲片、美洽、網易雲音樂等業界微服務的先行者,分享了落地實踐過程中總結的乾貨經驗。
微服務在傳統領域的落地實踐
網易雲微服務資深架構師 袁梓超
微服務是一個非常複雜的演進過程,是企業在發展過程中業務遭遇痛點、解決痛點的過程。網易雲微服務資深架構師袁梓超主要分享了微服務在傳統領域的落地實踐以及可以幫助企業解決的問題。袁梓超認為金融行業對微服務的需求,主要源於業務的驅動。比如網易雲所服務的某家證券公司,在業務轉型的過程中,多個線下業務在逐漸轉向線上,IT部門需要快速響應業務部門的各種新需求。網易雲首先基於服務拆分和共享能力的構建,幫助其做了中臺服務的架構設計,提高業務響應能力;通過容器化,實現了持續整合和快速的橫向擴充套件;通過服務發現和服務治理,實現服務間相互呼叫,並保證高併發情況下的服務可用性。
某安防監控領域的客戶,內部的資訊化系統非常多,但系統之間相對獨立,互通困難,導致跨部門之間協作效率較低,管理和運維也非常困難,亟需從架構層面解決這些長期的痛點。網易雲幫助該客戶將公共服務抽象出來,沉澱為服務中心,可快速跨產品線整合資訊,提高跨部門的協作效率;結合敏捷研發流程,加速了前端需求的響應速度;通過平臺中對微服務治理的監控,構建了統一的介面標準和運維體系。
某物流行業的客戶,從大件物流向個人快遞業務擴充套件的過程中,由於系統的瓶頸問題,阻礙了業務的發展。網易雲從GIS系統開始,輔助其進行微服務化改造,並提供微服務框架及工具鏈,最大化降低改造風險;提供DevOps工具鏈,幫助其建立敏捷開發體系;對應用進行容器化改造,縮短應用釋出週期;還提供視覺化應用運維監控平臺,保證應用及平臺執行的穩定性。
據袁梓超介紹,網易雲之所以能幫助這些客戶實現對業務靈活、快速地響應,源於輕舟微服務平臺中多年的技術沉澱。作為一家曾打造多個爆款的網際網路公司,每一次使用者暴漲的階段,對網易的技術架構都是非常嚴峻的挑戰。網易從2010年開始對微服務的探索,目前已廣泛採用了微服務技術棧,並在這個過程中形成了一整套微服務架構的解決方案,並沉澱為輕舟微服務平臺。袁梓超在演進中詳細介紹了網易雲對於完整微服務技術棧的探索和實踐過程。
(更多內容,請點選下載PPT檢視)
Serverless之OpenFaaS
雲片Java技術專家 劉斌
2014年AWS Lambda 的問世引領了Serverless(無伺服器計算)的普及。Serverless把主機管理、作業系統管理、資源分配、擴容,甚至是應用邏輯的全部元件都外包出去,讓開發者在構建應用的過程中無需關注計算資源的獲取和運維,由平臺來按需分配計算資源並保證應用執行的SLA,按照呼叫次數進行計費,有效的節省應用成本。
Serverless的實現分為BaaS(Backend as a Service)和FaaS(Functions as a Service)兩種型別,雲片Java技術專家劉斌認為只有開源的FaaS平臺才能讓Serverless飛入尋常百姓家。劉斌首先分享了雲片營銷雲的微服務架構和產品技術架構,在營銷雲的架構設計中,為了滿足客戶的柔性需求,劉斌調研了主流的FaaS平臺。基於這些調研,劉斌分享了OpenFaaS在Serverless架構設計中的定位及其帶來的收益。
(更多內容,請點選下載PPT檢視)
美洽微服務架構演進之道
美洽技術負責人 吳昊
美洽智慧客服SaaS在創立4年內,服務企業客戶數已超10萬+,月訊息數過億,成為客服SaaS行業領跑者。美洽技術負責人吳昊分享了在美洽成長過程中,基於Golang的微服務架構的演進過程,以及微服務化是如何支撐業務的高速增長。基於美洽的實踐經驗,吳昊認為微服務拆分應遵循三個原則:以業務為中心,職責單一;避免迴圈依賴;粒度合適,功能內聚,考慮運維複雜度。微服務架構給美洽帶來的好處包括:提升了開發效率和程式碼可維護性;Go語言的使用,也讓服務效能的進一步提升成為可能;成本降低,伺服器成本和人力成本都大幅下降;改動程式碼不需要全域性發版,提高了系統穩定性。
(更多內容,請點選下載PPT檢視)
雲音樂服務化之路
網易雲音樂資深開發工程師 薛廣順
網易雲音樂從2013年4月釋出第一個版本,到現在已經有數億的使用者,在這6年中,網易雲音樂的後端技術架構也發生了很大的變化。網易雲音樂資深開發工程師薛廣順主要分享了網易雲音樂的服務化演進歷程,雲音樂服務治理體系,雲音樂服務框架,雲音樂在服務治理過程中碰到的問題及解決思路。
如何實現多機房路由?測試環境如何做服務治理?如何降低框架推廣、升級的成本等。為了解決這些問題,網易雲音樂經過不斷探索,形成了一系列有特色的解決方案。比如,隨著業務線的劃分和人員規模的上升,聯調的需求越來越多,版本併發度也在不斷上升,隨之帶來了計算資源成本、環境搭建人力成本和維護成本的攀升。為解決這個問題,網易雲音樂採用了環境隔離的方案,目前雲音樂已經有200多套測試環境,這些測試環境相互隔離,同時又共享一套基準環境,測試的時候會優先呼叫同一個測試環境中的服務,服務缺失的話,會路由到基準環境。
(更多內容,請點選下載PPT檢視)