天天看點

InfoQ采訪PWorld2015講師:解讀“微服務”架構

經曆過去的十幾年的發展,soa(service-oriented architecture)已經獲得了廣泛肯定與應用。現在,随着雲計算、開源、docker等為技術界帶來革命性的影響,同時,使用者使用方式與生活方式都在移動化浪潮的裹挾下發生了巨變,“微服務”架構(msa:micro service architecture)這一全新的企業架構模式越來越受到關注,也有越來越多的企業和平台服務商開始将“微服務”的概念轉化為實踐,掌握到第一手的實戰經驗。應該如何了解“微服務”的性質和特點?轉型“微服務”架構能夠解決哪些問題、需要注意哪些問題?為了回答這些疑問,我們對普元軟體的資深架構師顧偉進行了采訪,請他介紹自己對“微服務”的了解和經驗。對話全文内容如下:infoq:請向infoq的讀者介紹下自己,目前主要的工作方向及關注的技術領域。

顧偉:大家好,我是普元資訊技術股份有限公司的架構師顧偉,目前主要從事雲計算、智能運維、平台基礎架構等方向的工作,同時對插件開發、html5、docker等技術有着濃厚的興趣。

infoq:微服務架構(micro service architect)近一年多在技術社群頻頻被提及,熱度頗高,但對“微服務”似乎還沒有一個嚴格的定義。您是如何了解“微服務”的?顧偉:在雲計算運用愈加廣泛和深入的移動網際網路時代,大家的生活都變得越來越碎片化。坐在地鐵上,你會随手發個朋友圈,走在公園裡,你會随手發個微網誌。當日常行為變得這麼碎片化時,相應的支撐服務應該是什麼樣的? 在我看來這些服務必須是“零散”的,支撐的業務是可以快速變化的,服務之間是可以快速融合的,服務的性能、安全是有足夠保障的,當達到這種标準的時候,這些服務就是我了解的微服務。

infoq:與傳統單塊架構相比,“微服務”架構有哪些特點?顧偉:特點其實是比較顯然的,比如開放、輕量、松耦合、易遷移、易伸縮、容錯性、自監控、語言中性等。總的來說,微服務架構是一種更靈活、更可靠、更開放的架構。

infoq:像您所說, “微服務”是“零散”的,這種特征又能夠幫助企業解決哪些難點和痛點?

顧偉:我們可以反過來看這個問題,傳統的企業級架構,往往會面臨着幾個難題: 1.彈性能力不夠。單塊架構使得要伸縮就是整體的伸縮,但你的流量中可能占90%隻是針對其中20%的服務的通路,那為什麼不把這20%的服務獨立出來呢?将好的資源用于支撐這些服務,達到資源的最大化集約使用。 2.業務變化調整較慢。由于業務部署在一起的原因,單個業務的調整使得整個應用都需要重新內建、測試、釋出等,雖然有一些自動化的保障,但還是無法做到成本最少,風險最低。 3.開放能力不足。随着雲計算、雲服務的高度發展,服務按需的模式會越來越多。一個企業不可能所有服務都自建,也不可能永遠封閉,而是需要能夠快速整合外部服務,同時将内部的服務開放出去,這也是對傳統企業架構的一大挑戰。 如何解決這些問題,正是微服務架構的關鍵目标所在。微服務的“零散”特征使得企業能夠快速應對服務擴容、業務開放、業務變化、服務整合等需求。

infoq:您認為“微服務”架構适用于什麼樣的企業和應用?顧偉:如果你認為it建設是一個持續演進的過程,對企業發展有着重大支撐作用的話,微服務架構都會非常合适。

infoq:我們已經了解“微服務”架構的優勢,那從單塊架構轉型到“微服務”架構,又需要考慮哪些因素或注意哪些問題?顧偉:前面一直在說微服務架構的好處,但使用微服務的同時,對企業的it支撐管理、運維等能力的要求也會相應提升,比如: 1.微服務之間的通信問題。企業需要提供一套比較完善、輕量的通信機制,保證服務調用的可靠、可跟蹤、高性能等。 2.微服務的監控度量問題。服務的分散使得交易路徑有時候會變得比較複雜,如何從業務次元對鍊路實行跟蹤回溯,如何度量整體業務的吞吐,如何快速發現業務的瓶頸,是使用微服務必須解決的問題。 3.微服務的粒度問題。在很多企業實行微服務架構時,往往會走到一些技術極端,過度的拆分服務。微服務更應該類似unix的服務,每個服務目标單一,隻做一件事情,能夠有很好的複用性。

infoq:您在“微服務”架構的實踐上已經有比較豐富的經驗,是否可以簡單介紹一個典型案例。

顧偉:去年做過一個電信領域的資料釋出的項目,主要場景是将企業内部産生的各類資料,按照不同協定安全釋出給外部客戶訂閱。 這個項目中會涉及到很多微服務:包括集中排程(訂閱推送)、檔案傳輸、檔案存儲、中繼資料管理、權限認證等,每類服務都是叢集部署的情況下,最終至少會有20多個程序,每次到一個地方部署都要結合具體環境花費不少時間。 最終解決方案是結合了當下比較流行的docker技術,通過對container的管理,完成了服務的自動釋出。其實這個方案也間接的說明了一些問題,比如微服務架構和雲計算、智能運維等是都密不可分的。 

InfoQ采訪PWorld2015講師:解讀“微服務”架構

原文釋出時間為:2015-05-23

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀