當前位置:
首頁 > 最新 > 徐員外#《Spring Cloud微服務實戰》

徐員外#《Spring Cloud微服務實戰》

在介紹這本書之前,我們或許能夠從下面這張圖感受到spring cloud的技術的日新月異,互聯網的蓬勃發展帶來了技術的飛速進步。現在一些公司的軟體產品及互聯網項目,如果還沒有積極擁抱微服務設計思想的話,等到系統上線之日,或許正是產品死亡之時。

言歸正傳,我們回到這本書,這本書的作者是spring開源技術的粉絲。寫這本書大約花了半年的時間,期間spring cloud從SR3發展到SR7,書寫完了,一些代碼案例也廢棄過時了。

全書共11章422頁,整本書我囫圇吞棗式的大約花了三天的時間讀完,對於全面了解微服務框架及相關技術有一個很好的歸納作用,在讀的過程中,我的大腦中一直在慢慢形成一張架構拼圖,對於一些相似性的技術,我是用已掌握的技術思路在換位理解和思考。對於有時間的讀者,我建議這本書應該反覆看,並結合案例代碼,在一個月內讀兩三遍為佳,如果能在此基礎上進行知識拓展,看spring網站最新的英文文檔,開源社區的案例討論,那麼離高手之路也就不遠了。

微服務技術,更多的是在講在分散式互聯網環境下的一種設計思想及解決問題的方法和步驟,這本書講的是spring cloud,實際上是Netflix公司基於雲計算分散式互聯網項目的一個完整解決方案,它涉及到的技術點比較多,很多的程序員在工作中可能沒有機會涉及到,如果沒有一定的技術基礎,讀起來還是有一定的難度的,要有一定的知識儲備和相關項目經驗比較好,如SpringMVC、SPringBoot、消息通信、監聽、過濾攔截、負載等等。

讀的時候要把下面這些技術專用名詞按自己的理解搞懂,技術之間的關聯和主線要搞清楚。

Eureka(發音『友瑞卡』):服務註冊中心,與阿里巴巴的dubbo框架思想類似,可以通過註解的方式靈活配置,既可以成為服務的提供者,也可以成為服務的消費者,通過RestTemplate實現服務之間的調用,在具體的調用時候,用了反射和callback的技術。

Ribbon(發音『瑞本』):Eureka集群的時候,Ribbon提供負載均衡的解決方案,常用的有「輪詢、隨機、權重計算「這幾類,與Nginx原理及作用有相似之處,不同的是,可以實現伺服器端和客戶端兩種方式,通過註解完成。

Hystrix(發音『嘿死吹客』):Hystrix為服務之間的容錯提供了進一步的保障,如果某個服務出了問題,而沒有一套響應處理機制的話,可能會引起服務之間的雪崩,它提供了一套開關機制。

掌握了上面三種技術之後,基本上一個微服務系統框架可以搭建並正常運行起來了。

Feign(發音『費銀』):Feign整合了Ribbon和Hystrix,提供簡化模板,通過對介面進行註解,就可以綁定相關服務,具備可插撥的註解特性,提供JAX-RS和Feign註解。

Zuul(發音『祖兒』):API網關服務,提供自動化服務運維和路由服務,在路由上可以實現過濾,攔截等機制。

CloudConfigBusStreamSleuth:這幾種技術分別提供了git/RabbitMQ Kafka/Track等分散式部署環境下的管理運維,消息傳遞,日誌跟蹤的解決方案,實現微服務系統的高可用,這裡需要有消息隊列、事件監聽等知識原理的基礎才能理解和掌握。

這本書的前7章側重於微服務的構建和運行,後面4章側重於實際分散式生產環境的應用。大家在看的過程中思路不要有混淆,書中有很多列表參數,不需要記憶,了解不同參數的差異即可。

另外上述技術,在代碼階段,大部分的註解配置在這幾個地方,一是application main這裡,還有在服務類上面,及暴露的方法上面,有一部分在介面上,注意觀測和實驗,通過URL訪問了解其生效規則。

對於SpringCloud微服務整體架構的理解,可以參照下面這張圖,本書所涉及的知識點基本上全面覆蓋,在第二次或第三次讀這本書的時候,腦海中最好有這麼一幅圖在這裡。

最後,微服務技術更多的是一種設計理念和架構思想,互聯網技術發展至今,大家遇到過很多坑,這就是在解決的過程中前人提煉出來的精華。微服務技術在大型互聯網項目中的優勢不言而喻,但項目的落地,需要對團隊整體有較高的技術要求。國內大的互聯網公司,會有不同的微服務治理框架和技術,但是原理都相當,掌握好一門搞精通足以行走天下。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 xuyuanwai 的精彩文章:

徐員外#阿里巴巴Dubbo開源服務框架

TAG:xuyuanwai |