Fork me on GitHub

如何学习SpringCloud?(SpringCloud模板)

前言

对于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 

 

posted @ 2018-06-30 20:51  LinkinStar  阅读(1790)  评论(1编辑  收藏  举报