SpringCloud概述

简介: Spring Cloud是微服务的统一解决方案,具备约定优于配置、组件丰富、开箱即用等特点,完美支持云原生。其版本以地铁站命名,避免与子项目冲突。Spring Cloud Alibaba融合阿里系中间件如Nacos、Sentinel、Seata等,弥补Netflix组件停更短板,经大规模验证,成为主流技术栈首选。

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是一个大综合性的项目,包含很多子项目,由于子项目也维护着自己的版本号,所以通过这种命名形式定义版本号,避免与子项目版本冲突。
● 更多Spring Cloud版本演进计划请移步:github里程碑仓库
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.推荐阅读资料
● 浏览Spring Cloud仓库:https://github.com/spring-cloud
● 浏览Spring Cloud官网:https://spring.io/projects/spring-cloud
● 截图软件:

相关文章
|
2月前
|
Apache
Excel工具-HUTOOL-读取Excel
基于Hutool和Apache POI,封装Excel读取工具,支持xls/xlsx格式。可读取为List、Map或Bean,提供Sax模式(Excel03SaxReader/Excel07SaxReader)高效处理大文件,避免内存溢出,适用于海量数据流式读取。
|
2月前
|
Java 大数据 Apache
Excel工具-HUTOOL-输出Excel
Hutool基于Apache POI封装了Excel读写功能,提供ExcelWriter和BigExcelWriter类,支持写出List、Map、Bean等数据类型到Excel,可自定义样式、多sheet操作,并解决大数据量导出时的内存溢出问题,适用于文件导出、客户端下载等场景。
|
2月前
|
负载均衡 算法 架构师
Ribbon负载均衡
本节深入解析Ribbon实现客户端负载均衡的原理,详解@LoadBalanced注解作用,剖析负载均衡策略、自定义配置及饥饿加载优化,帮助读者全面掌握Ribbon在Spring Cloud中的应用与底层机制。
|
2月前
|
SpringCloudAlibaba Java Nacos
SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,弥补了分散技术栈的整合难题。它具备约定优于配置、组件丰富、开箱即用等特点,支持云原生架构。其版本以伦敦地铁站命名,避免与子项目冲突。随着Netflix组件停更,Spring Cloud Alibaba凭借Nacos、Sentinel、Seata等成熟开源组件,成为主流选择,获官方认可,助力微服务高效落地。
|
2月前
|
JSON 缓存 前端开发
什么是跨域
CORS(跨域资源共享)是W3C标准,允许浏览器向跨源服务器发送XMLHttpRequest请求,突破AJAX同源限制。浏览器自动处理通信,关键在于服务器需支持CORS接口。请求分为简单和非简单两类,后者需预检。相比仅支持GET的JSONP,CORS更强大灵活,兼容现代浏览器。
|
2月前
|
消息中间件 算法 网络协议
选举机制源码分析
本文深入解析ZooKeeper中FastLeaderElection选举算法的源码实现,涵盖Election接口、FastLeaderElection核心类及其内部类Notification、ToSend、Messenger的工作机制。重点分析了选票收发、PK规则(epoch、zxid、id)、投票统计与Leader确定流程,全面揭示ZooKeeper领导者选举的底层原理与实现细节。
|
2月前
|
存储 缓存 Java
自定义注解
本文介绍如何在Spring项目中实现自定义注解,结合AOP完成日志记录,并通过过滤器实现登录权限控制。涵盖注解定义、元注解说明、切面编程及实际应用场景,展示其在日志、验证、权限等场景的扩展用途,体现注解驱动开发的灵活性与高效性。(238字)
|
7月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
622 3