今天濟南北大青鳥就來對比壹下微服務和傳統單壹服務架構的區別。
1.如何理解微服務,簡單說明壹下妳所理解的微服務?微服,這個詞其實是聽力。我搜索了壹個定義,然後突然明白,所謂微服務,如果用更通俗的話來定義和描述,就是敏捷+模塊服務架構體系。如何解釋敏捷,亞馬遜CEOBezos最初提出的2pizza是微服務系統架構的鼻祖。2pizza是指從設計、開發、測試、運維的所有參與者只需要兩個pizza(從網上資料套用),所以妳可以知道既然需要敏捷,就要有模塊化的思維方式。在汽車行業,現在大眾和豐田都提倡模塊化打造系統,不僅效率高,而且可移植。在IT行業,這種模塊化的思想也是。就像樂高積木橫向疊加,基於模塊化的微服務在運維方面自成體系,不僅可以降低模塊的測試壓力和成本,而且後來我覺得這種微服務還是符合當前高效利用資源的政策的。很多系統也逐漸由大變小、精細化,還有對於開發、運維等等。微服務非常符合這個命題。
2.與傳統的單壹服務架構相比,它們在實戰環境下的優缺點是什麽?我覺得存在就是合理的,沒有哪個好,只有哪個更適合,或者在當前需求和長遠規劃下,哪個架構在不同階段更劃算。對於單架構系統,我認為它的特點是復雜度高,接口冗余,穩定性中等。妳可以說這是壹個缺點,但我認為這種soa架構系統是大型金融架構的主流,比如我所在的行業。單壹服務架構的優勢在於下屬模塊差異少,品類單壹,規劃相對完整,屬於用宏觀架構和視野來構建的方式。而微服務更適合互聯網行業,對於新技術已經有了歡迎和叠代,是微服務很好的實踐場所。3.如果考慮部署微服務,在業務部署過程中會遇到哪些關鍵挑戰?主要是在金融行業,如果在現有的單架構系統中采用微服務的部署方式,要很好的考慮與原系統的耦合和接口,否則會出現四異,沒有了原大規模單架構系統的優勢,快速、高效、低成本的微服務就無法顯示出其良好的效果,而且我認為即使是模塊化的微服務部署,也要在能力範圍內選擇不同模塊的耦合和選型,否則會百花齊放。