开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):技术点-SpringCloud 介绍】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11413
技术点-spring cloud 概念介绍
什么是 spring cloud?
SpringCloud 是一系列框架的集合。
它利用 SpringBoot 的开发便利性简化了分布式系统基础设施的开发,如服务发现、服务注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用SpringBoot 的开发风格做到一键启动和部署。
Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟经得起实际考验的服务框架组合起来,通过 SpringBoot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
重点:
(1)、spring cloud 的并不是一种技术,是很多技术的总称,或者是很多技术的集合,这就叫spring cloud,
(2)、spring cloud 里面有很多框架(技术),使用spring cloud 里面的这些框架就能实现微服务。
(3)、使用 spring cloud,需要依赖技术 SpringCloud 和 SpringBoot 是什么关系?
SpringBoot 是 Spring 的一套快速配置脚手架,可以基于 SpringBoot 快速开发单个微服务,SpringCloud 是一个基于 SpringBoot 实现的开发工具;SpringBoot 专注于快速、方便集成的单个微服务个体,
SpringCloud关注全局的服务治理框架:SpringBoot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,SpringCloud很大的一部分是基于 SpringBoot 来实现,必须基于 SpringBoot 开发。
可以单独使用 SpringBoot 开发项目,但是 SpringCloud 离不开 Spring Boot。
有什么区别?
所以我们要明确这个,说的简单一点,Spring boot 就是 spring,一个快速构建的脚手架,就用 spring boot,而 spring cloud 就是一系列框架的总称,我们要使用spring,就要基于 spring boot,才能使用出里面的功能,它俩关系就是这样的关系。上面重点的三句话,我们需要把它记住。
我们知道在 spring cloud 里面有很多这样的框架,或者说有很多的技术,这些框架就能实现微服务。
Spring cloud 的里面有哪些微服务?
SpringCloud 相关基础服务组件
服务发现--Netflix Eureka(Nacos)
服务调用—NetflixFeign
熔断器--Netflix Hystrix
服务网关--SpringCloud GateWay
分布式配置--SpringCloud Config(Nacos)
消息总线--Spring Cloud Bus(Nacos)
服务发现的原使用是 Eureka,现在是(Nacos),他的概念是注册中心;服务调用就是实现相关的调用,以上这些组件都是在微服务中用到的,而Nacos是使用最多的,Spring cloud 里面有很多组件,而这些组件构成了微服务。最后我们来看它的使用方式。
现在我们使用的是2.2版本,我们可以看到这个 spring boot 还有其他版本,而每个版本对应的 cloud 也不一样,而 cloud 的版本也有他自己的特点。
仔细看每个单词的第一个字母,是以 abc 的顺序排列,把我们现在的 boot 版本用的是2.2版本,所以我们对应的是h开头的代号,只能对应h版本,不能对应其他版本,这是他的版本特点。
这是必须的,但是在目前的开发中,基本上用到的都是二点几的版本。
一点几的版本很少用。
后面版本中做了很多的改进,我们现在项目中用到的是最后的新版本,而这个版本也在不断的更新,这个 boot 更新的很快,在我们使用boot的时候,统一建一个工程,这里面的每次都下载最新的那个版本,我们可以看到目前最新的版本是2.2.5,在我们第一天讲课的时候,这里的版本还是2.2.4。
所以我们现在就是一一对应的关系。不论是2.2版本后面的1234,它对应的都是h开头的版本,这就是我们的版本对应。
小版本
SpringIcloud 小版本分为:
SNAPSHOT:快照版本,随时可能修改
M:MileStoneM1表示第1个里程碑版本,一般同时标注PRE,表示预览版版
SR:Service ReleaseSR1表示第1个正式版本,一般同时标注GA:(GenerallyAvailable),表示稳定版本。
打开此页面,首先有这个2.30(SNAPSHOT),这个版本就叫快照版本 ,但是这个版本我们一般是不使用的,因为它会随时修改,只是一个临时版本;另外,我们还有这个版本,2.3.0M2,这是里程碑版本,这是中国人最喜欢的词,实现了预定的目标,在M1里面,他只有基础的功能,而M2中新加了一个功能,例如我们在M1版本中只有登录功能,在M2版本中加入新的功能,那就是实现了里程碑式的功能,又叫里程碑版本,实现了我们预定的目标,这就是 M 版本,里程碑版本。
还有一种 SR 版本,这个版本就是正式版本;还有一个叫 GA,这是稳定版本。
所以我们一般选的时候都建议选择稳定版本,但如果没有稳定,那我们就使用SR版本,或者 M 版本,但是不建议用 SNAPSHOT 版本 ,因为这个版本可能随时就会消失,有可能会改变,所以目前我们就是先了解一些小版本,理解他不同标号的内容。