前言

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

如何学习SpringCloud?(SpringCloud模板)的更多相关文章

  1. 学习一下 SpringCloud (二)-- 服务注册中心 Eureka、Zookeeper、Consul、Nacos

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  2. SpringCloud学习(SPRINGCLOUD微服务实战)一

    SpringCloud学习(SPRINGCLOUD微服务实战) springboot入门 1.配置文件 1.1可以自定义参数并在程序中使用 注解@component @value 例如 若配置文件为a ...

  3. 学习一下 SpringCloud (三)-- 服务调用、负载均衡 Ribbon、OpenFeign

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  4. 学习一下 SpringCloud (四)-- 服务降级、熔断 Hystrix、Sentinel

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  5. 学习一下 SpringCloud (五)-- 配置中心 Config、消息总线 Bus、链路追踪 Sleuth、配置中心 Nacos

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  6. 学习一下 SpringCloud (六)-- 注册中心与配置中心 Nacos、网关 Gateway

    (1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...

  7. OpenCV 学习笔记(模板匹配)

    OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...

  8. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  9. 学习一下 SpringCloud (一)-- 从单体架构到微服务架构、代码拆分(maven 聚合)

    一.架构演变 1.系统架构.集群.分布式系统 简单理解 (1)什么是系统架构? [什么是系统架构?] 系统架构 描述了 在应用程序内部,如何根据 业务.技术.灵活性.可扩展性.可维护性 等因素,将系统 ...

  10. SpringCloud学习(1)——SpringCloud概述

    微服务架构: 微服务架构是一种架构模式或者说是一种架构风格, 他提倡将单一应用程序划分成一组小的服务, 每个服务运行在其独立的进程中, 服务之间互相协调,互相配合, 为用户提供最终价值.服务之间采用轻 ...

随机推荐

  1. Java 多文件压缩成一个文件工具类

    简单修改来自博客园勇闯天涯zfc的博客 一.内容 ①使用 Java 将多个文件打包压缩成一个压缩文件: ②主要使用 java.io 下的类 二.源代码:ZIPUtil .java import jav ...

  2. JavaScript字符串与数组方法整理

    字符串(String)的方法: 代码后面的都是返回值 var str = "atusdgafsvg"; var str1 = "123456789"; var ...

  3. Spring源码学习-容器BeanFactory(四) BeanDefinition的创建-自定义标签的解析.md

    写在前面 上文Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签对Spring默认标签的解析做了详解,在xml元素的解析中,Spri ...

  4. jq 点击复制div里面的内容 如果粘贴到富文本中,会将样式,里面所有的标签,文字一并粘贴进去

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Mesos源码分析(8): Mesos-Slave的初始化

      Mesos-Slave的初始化在文件src/slave/slave.cpp里面     首先初始化资源预估器   初始化attributes   初始化hostname     初始化status ...

  6. MyEclipse最新版-版本更新说明及下载 - MyEclipse官方中文网

    http://www.myeclipsecn.com/learningcenter/myeclipse-update/ [重要更新]MyEclipse 2015正式版发布 [重要更新]MyEclips ...

  7. Websocket实现即时通讯

    前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作.直到最近换了工作,到了一家是含有IM社交聊天功能的app的时候,我觉得我现在可以谈谈 ...

  8. FFmpeg 结构体学习(五): AVCodec 分析

    在上文FFmpeg 结构体学习(四): AVFrame 分析我们学习了AVFrame结构体的相关内容.本文,我们将讲述一下AVCodec. AVCodec是存储编解码器信息的结构体.下面我们来分析一下 ...

  9. laytpl模板——怎么使用ajax与数据交互

    第一次在项目中用laytpl模板,下面是一些使用过程中的探索,希望对小伙伴们有所帮助. 注:第一次使用这个模板的小伙伴建议先去看看官网 laytpl <script type="tex ...

  10. [Swift]LeetCode167. 两数之和 II - 输入有序数组 | Two Sum II - Input array is sorted

    Given an array of integers that is already sorted in ascending order, find two numbers such that the ...