為什麼springcloud值得我們學習?

lightTrace發表於2018-08-05

springcloud好不好?好!
它的微服務理念適合所有公司的業務嗎?不一定!
但是不使用它需要學習它嗎?需要!

雖然去年就聽了朋友說了springcloud全家桶如何如何方便?但是一看到全家桶中Eureka,Hystrix,Zuul,Bus我還是比較頭疼的,這麼多子模組從哪裡看起呢?但當我開始學習瞭解的時候我便停不下來了!!!

首先springcloud得益於spingboot的優雅簡潔,可還記得我們被無數xml支配的恐懼?可還記得springmvc,mybatis錯綜複雜的配置,有了spingboot,這些東西一去不復返了!!!spingboot好處不再贅訴,畢竟主角還是

什麼叫做開箱即用?什麼叫做大道至簡?即使是當年的黃金搭檔dubbo+zookeeper下載配置起來也是頗費心神的!而springcloud完成這些只需要一個jar的依賴就可以了!
springcloud大多數子模組都是直擊痛點,像zuul解決的跨域,fegin解決的負載均衡,hystrix的熔斷機制,在業務複雜的時候通過zipkin去清晰的檢視服務的依賴和呼叫……

當然,當我們的業務模組很少的時候,我們不需要去使用微服務,微服務意味著更多的rpc呼叫和更大的維護難度。只有當我們的業務模組多到一定程度的時候,每個模組都需要一個小團隊去開發,這樣微服務才能更好的解決問題,複雜所有的業務都耦合在一個專案裡,不說一個服務的bug直接引起整個專案的崩潰,就一個程式碼的衝突合併都能讓開發人員抓狂!
而微服務在大型專案中就體現了它的優勢:

  • 開發簡單,開發效率高,一個服務可能就是專一的幹一件事
  • 它易於被開發人員理解,使得小團隊更加專注自己的模組

而最關鍵的一個點,我們為什麼要學習springcloud來作為我們的微服務框架呢?

  • 首先如果你只熟悉Java語言,那麼你學起來就會非常輕鬆,它並不需要mybatis、springmvc甚至struts那麼多的配置檔案,你只需要花時間去思考原理,寫一些程式碼就能很快入門,我發誓它比前面的框架入門要簡單,說實話我一直覺得k8s是一個很好的東西,但是k8s的學習曲線就很困難!!!
  • springcloud的學習會讓你對高併發、分散式、服務的降級、熔斷及雪崩相關概念理解的更加清晰
  • springcloud是一套完整的微服務框架,正是因為它是全家桶,看起來繁雜,實際上使用風格很相似,而且拿dubbo來舉例,dubbo不具有服務閘道器、分散式配置、服務跟蹤等等功能,而springcloud都具備

我覺得springcloud帶來了很多新的東西,讓我更有興趣一步一步的去探索它,希望越來越好!

相關文章