前言
對於SpringCloud來說(下面簡稱SC),現在網上已經有很多教程寫的非常詳細,因為SC的組件特別多,雖然不是所有組件都需要用到,但是學習的時候我們都需要去學習和了解。所以我想如果再寫把每一個組件再拖出來做整理感覺有點重復勞動了,而且說的也不可能比當前別人說的更加詳細,所以就打算換一個方向來說說SC的學習。俗話說授人以魚不如授人以漁。同時給出一個模板,方便后期查看學習(模板正在不斷更新,如有不對的地方請提出建議,感激不盡)。
模板地址:https://github.com/LinkinStars/SpringCloudTemplate
如何學習SC?
這個問題表明上來看並不是一個問題,但是實際會發現,學習SC和之前我們學習別的框架其實是有一定方法上面的不同。下面簡單列舉幾個會出現的問題。
1、在沒有了解使用場景的前提下,只是一味去學習SC,而導致學完了也不知道怎么用。
2、很多組件知道是怎么用的,但是發揮不出它在實際中的用途。
3、SC版本更新頻繁,當前網上教程多數為老版本,新版本有一些比較大的改動。
...
還有很多類似的問題,所以總結一下學習的過程,如果可以,給你提供一些參考。
學習資料
首先給出兩個寫的比較全面的博客作為基礎參考:
https://blog.csdn.net/forezp/article/details/70148833
http://blog.didispace.com/Spring-Cloud%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/
這兩個博客把幾乎所有的組件都介紹了一些,而且有實際的demo作為參考,可以說比較實用了。
https://projects.spring.io/spring-cloud/
這個是我們的重點,也就是spring官方給出的文檔,上面有一個問題就是SC的頻繁更新,導致我們學習的時候當前的版本和我們上面學習資料的版本已經不一樣了,所以我們很多時候需要參考官方給出的文檔中的說明進行學習,新的東西我們還可以慢慢來,但是有一些東西在新版本中被不推薦使用或者被廢棄了,這時候我們就需要注意了,文檔位置如下圖所示:
具體的實體書我在這里就不推薦了,因為實際中我買了之后只是說瀏覽之后做了一個了解,對整個SC有了一個大致的認識,多數情況下屬於一個入門的引導作用,而實際中還是多數在網上查詢資料進行學習。
學習准備
SC包含有很多東西,你需要一些前期的一些准備工作:
1、SpringBoot,SC都是基於SpringBoot的,所以你肯定需要了解和熟練使用。
2、你需要對微服務架構有一個自己的認識,因為不是所有的場景都適合使用SC的,微服務有自己適合的位置,只有在合適的地方才能發揮強大的作用,而在不適合的地方反而適得其反。
3、有一定的服務器基礎,因為微服務的部署運維都需要一定的基礎。
學習大致思路
1、大致過一遍所有SC組件,只需要大致知道每個組件的用途就可以了。
2、抓住重點,注冊中心和服務,簡單的說,只要有這樣兩個東西就可以稱為微服務了,所以你只要學會了這樣兩個東西,基礎網絡就沒有問題了。
3、寫一個簡單的demo去運行,看是沒用的,一定要自己去實踐。
4、往demo里面不斷增加新學習的組件。
5、根據實際用途去總結,哪些組件是我們必須要使用到的,或者說對我們開發是有很大幫助的,而一些不必要的組件大可不必使用。
6、將一個比較小的項目代入到你寫的整個demo中取,因為沒有實際的檢驗你不知道如何去規划你的項目,如何去拆分你的服務,如何去分配你的服務器,這步完成之后你會對所有組件有個新的認識,可能有些原先用的不對的地方,或者說用的不合理的地方都能找到。
7、結合網上開源的一些項目,看看別人用這個架構是如何去實施的,說白了就是你的經驗肯定不足,看看別人寫的,給自己一定啟發,閉門造車肯定是不行的。
8、整理,通過之前的步驟進行學習之后,基本上的使用都知道了,你需要做一個整理,因為肯定不是每個項目所有的組件你都需要使用,所以你需要明確知道,這個項目需要用到哪一些,其中的功能在實際的產品中如何合理的運用,將這些做一個整理,運用在實際中。
整合后的模板項目
我發現網上有很多關於各個組件的使用例子,就像學習一樣分章節都分好了,我將它們整合在了一個項目中,這樣之后我們需要回來查詢一些信息的時候就有一個比較實際的模板。模板還在不斷更新中。
https://github.com/LinkinStars/SpringCloudTemplate
建議
1、確定一個合適的版本。
你需要確定一個合適的學習和開發的穩定版本,永遠追隨最新的版本肯定是不行的,一個是更新的太快,一個是學習成本較高,而且實際中需要穩定。
2、你覺得這個功能應該使用在哪里?
SC提供了很多功能,光是文檔就寫了一大堆,但是例子只會告訴你怎么用,不會告訴你再哪里使用。所以你需要知道這個功能在實際中應該使用在哪里。
3、不要被花里胡哨的功能所吸引。
你要知道微服務最大的厲害不在於那些有的沒的功能,最后控制業務還是你的服務,如何拆分,如何規划才是你在實際中可能碰到的最大問題。
最后,學習還是需要自己努力,以上只是個人的一個總結,說的不妥也請見諒。
作者:LinkinStar
轉載請注明出處:https://www.cnblogs.com/linkstar/p/LearnSpringCloud.html