SpringCloud概述

简介: Spring Cloud是微服务的统一解决方案,具备约定大于配置、组件丰富、开箱即用等特点。通过整合Netflix与Alibaba生态,形成完整技术栈,其中Spring Cloud Alibaba因Nacos、Sentinel等优秀组件成为主流选择。

1.SpringCloud诞生

基于前面章节,我们深知微服务已成为当前开发的主流技术栈,但是如dubbo、zookeeper、nacos、rocketmq、rabbitmq、springboot、redis、es这般众多技术都只解决了一个或一类问题,微服务并没有一个统一的解决方案。开发人员或架构师想要做架构设计或系统拆分时,还需要深度调研技术选项。那么有没有一个技术可以一呼百应,做到一个彻底的解决方案呢?于是Spring团队推出了他们的微服务解决方案-Spring Cloud。

2.SpringCloud特点

作为一款优秀的微服务解决方案,其主要特点如下

  • 约定大于配置
  • 组件丰富,功能齐全
  • 灵活,开箱即用,快速启动
  • 完美适配云环境软件架构的云原生应用

3.SpringCloud版本

Spring-Cloud的github仓库:https://github.com/spring-cloud

大多数Spring项目版本号是:主版本号.次版本号.增量版本号.里程碑版本号,如Spring版本:4.3.1.RELEASE,其中主版本号标识重大重构,次版本号标识新特性调整,增量版本号一般标识bug-fix,里程碑则标识某版本号的里程碑,也可以没有。

Spring Cloud通过伦敦地铁站的形式进行命名,如下Hoxton.SR12(Hoxton:主版本号,SR:Service Release,X数字:次版本号)。

因为Spring Cloud是一个大综合性的项目,包含很多子项目,由于子项目也维护着自己的版本号,所以通过这种命名形式定义版本号,避免与子项目版本冲突。

4.SpringCloud子项目

https://spring.io/projects/spring-cloud#overview

5.SpringCloud/SpringBoot版本兼容关系

6.SpringCloud Alibaba诞生

随着淘系业务的发展,阿里巴巴内部针对Spring Cloud做了自身吸收后,也贡献出优秀的Spring Cloud Alibaba解决方案,应运而生孵化出如Nacos这般优秀的中间件,并被Spring Cloud官方认可。至此Spring Cloud作为微服务解决方案的实际落地场景得到了更为强有力的论证,落地方案也就清晰明了

技术

Spring Cloud官方套件或第三方套件

Alibaba套件

Netflix套件

服务注册与服务发现

Consul、Zookeeper

Nacos

Eureka

配置中心

Spring Cloud Config

Nacos

服务通信

Open Feign

Dubbo

Feign

负载均衡器

Loadbalancer

Ribbon

服务网关

Spring Cloud Gateway

Zuul

断路器

Resilience4j

Sentinel

Hystrix

链路追踪

Spring Cloud Sleuth、Zipkin

分布式事务

Seata

Spring Cloud Alibaba提供的核心组件如下:

  • Sentinel:阿里开源产品,可作为断路器,也支持流量控制和服务降级。
  • Nacos:阿里开源产品,服务注册与服务发现,同时也可作为配置中心。
  • RocketMQ:阿里开源的分布式消息和流计算平台。
  • Dubbo:阿里开源产品,高性能Java RPC框架,服务通信组件。
  • Seata:阿里开源产品,一个易使用的高性能微服务分布式事务解决方案。

7.为什么选择SpringCloud Alibaba

基于上述描述,读者应该会发现SpringCloud可以选择Alibaba或Netflix套件整合出一套完整解决方案。然后Netflix由于种种原因退出了维护更新的舞台,后续SpringCloud也逐步将其提供的组件一一剔除。

依附着阿里2015-2020的黄金飞速发展,Alibaba与Spring Cloud社区的强强联合,更多、更为全面的解决方案经过无数次的验证是真实可行的,同时阿里提供的开源产品保证了SpringCloud的功能又得到了进一步的补充。

所以最终我们也将选择SpringCloud Alibaba作为技术栈进行学习和演练。

8.总结

本节笔者介绍了SpringCloud诞生的由来,以及目前国内主要流行的SpringCloud Alibaba与SpringCloud的关系,同时针对SpringCloud自身的特点、版本号、依赖关系做了概要论述,这些都是为了接下来的实战打好基础。


思考问题

  • SpringCloud特性?
  • SpringCloud Alibaba与SpringCloud什么关系?

9.推荐阅读资料


相关文章
|
9月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
60014 11
|
9月前
|
Linux 编译器 开发工具
AlmaLinux 9.7 正式版发布 - RHEL 二进制兼容免费发行版
AlmaLinux 9.7 正式版发布 - RHEL 二进制兼容免费发行版
535 0
AlmaLinux 9.7 正式版发布 - RHEL 二进制兼容免费发行版
|
SpringCloudAlibaba Java 持续交付
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
2059 1
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
33800 8
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
24083 31
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
1380 2
|
前端开发 对象存储 数据安全/隐私保护
阿里云前端直传has been blocked by CORS policy: Response to preflight request doesn‘t pass access control
阿里云前端直传has been blocked by CORS policy: Response to preflight request doesn‘t pass access control
2303 2
|
负载均衡 Java API
SpringCloud Alibaba详解
服务治理 服务治理就是进行服务的自动化管理,其核心是服务的自动注册与发现。 服务注册:服务实例将自身服务信息注册到注册中心。 服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。 服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到。
771 0

热门文章

最新文章