F版本SpringCloud 2—什么是SpringCloud?SpringCloud版本选择

简介: 引言:搭建微服务架构就像是买电脑,使用SpringCloud就是在买品牌机。

引言:搭建微服务架构就像是买电脑,使用SpringCloud就是在买品牌机。

前言

昂,美好的天气里,不想直接说技术,给小伙伴萌看看傍晚的天空吧。

—— 能找到天上的北极星吗?

上一篇文章中,通过一个简单的小故事,轻松愉快的讲解了架构的演变,以及为啥会有微服务,什么是微服务。不过在最后留下了一个小疑问:将架构设计为微服务需要一整套技术,解决服务调用,服务治理,服务监控等问题。

那么这些技术怎么来呢?

答案就是:SpringCloud。

本文就会详细讲解

  • 什么是SpringCloud
  • SpringCloud和SpringBoot的关系
  • SpringCloud版本选择

什么是SpringCloud

引言:搭建微服务架构就像是买电脑,使用SpringCloud就是在买品牌机。

SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

NetFlix 是美国的一个在线视频网站,微服务业的翘楚,他是公认的大规模生产级微服务的杰出实践者,NetFlix的开源组件已经在他大规模分布式微服务环境中经过多年的生产实战验证,因此spring cloud中很多组件都是基于NetFlix组件的封装

在上篇文章中我们讲到微服务是一套技术的合集,这些技术里面有服务调用技术,负载均衡技术,网关技术等等大大小小十几个技术。

那么问题来了?在开发中,我们怎么才能找到这样一整套技术呢?

第一种方案:就是自己需要什么找什么技术,但是这样会有一个问题,技术和技术之间往往都会有一些兼容性的问题,要解决这些问题,需要很强的技术示例,中小型企业一般没有这样的实力。

第二种方案:一些有实力的公司会自己寻找一整套技术,并且做一些封装和整合,然后开源让大家使用。SpringCloud就是这样的技术,SpringCloud是官方封装好的一整套分布式微服务的技术解决方案,我们也称之为微服务全家桶。

举个通俗的例子:开发微服务相当于买一台电脑

  1. 自己找微服务的技术相当于自己组装电脑,需要自己选配零部件,并且做组装整合,一般人搞不定。
  2. 使用SpringCloud相当于直接买了一个联想的电脑,买品牌机,厂家会把CPU 显卡等等都帮你配置好了,买来就能用。

SpringCloud包含的技术:

.....等一二十个技术,网址:https://www.springcloud.cc/

SpringCloud 和 SpringBoot的关系

用过SpringBoot的小伙伴都知道,SpringBoot开发之所以方便快捷,就是因为SpringBoot自动配置可以让我们在开发的时候不写基本的配置,通过完美的封装让应用可以做到一键启动和部署,而SpringCloud多个技术整合,最复杂的过程往往是配置。

所以SpringCloud选择SpringBoot作为技术底层,对目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,进行二次封装,屏蔽掉了复杂的配置和实现原理。让我们使用SpringCloud像使用SpringBoot一样的简单。

SpringCloud和SpringBoot的版本选择

关于SpringCloud和SpringBoot的版本选择问题,可以见官网:https://spring.io/projects/spring-cloud/

我们选择的是 Finchley 版本的SpringCloud,SpringBoot的版本就要选择 2.0.X。

解释一下 SpringCloud 版本号:SpringCloud 版本的命名规范实际上是 英文单词 SRX 的形式命名

  • SpringCloud的版本号没有采用 数字 命名,而是英文的单词,?Angel、Brixton、Camden等都是伦敦地铁站的名称,它们按照字母顺序发行。这个是主版本号,我们一般会称之为 F版本,D版本。
  • 后面的SR表示“Service Release”,一般表示Bug修复;在SR版本发布之前,会先发布一个Release版本,例如Camden RELEASE。

总结

恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

要掌握SpringCloud更多的用法,请持续关注本系列教程。

相关文章
|
1月前
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
54 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
2月前
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
|
30天前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
34 0
|
3月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
3月前
|
Java Spring 容器
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
|
3月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
|
3月前
|
SQL Java 数据库连接
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
|
3月前
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
|
3月前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
|
3月前
|
Java Spring
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)