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
● 截图软件:

相关文章
|
30天前
|
前端开发 API 语音技术
从零搭建一个免费的文本转语音在线工具(基于 Python3 + Edge TTS)
最近有个需求,需要把一段文字转换成语音,找了几个在线工具,要么收费,要么有水印,要么音质惨不忍睹。后来发现微软 Edge 浏览器的 TTS(Text-to-Speech)服务音质非常好,而且免费开放使用。于是动手写了一个在线工具,分享给大家。
365 1
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的七个关键步骤
【5月更文挑战第26天】 在数据驱动的时代,机器学习已成为创新和改进的关键工具。本文将详细阐述构建一个高效机器学习模型的七个关键步骤,包括问题定义、数据准备、特征选择、模型选择、训练与验证、参数调优以及模型部署。通过这些步骤的深入解析,读者将理解如何避免常见的陷阱,提升模型的性能和泛化能力。
577 5
|
4月前
|
关系型数据库 应用服务中间件 Nacos
Nacos配置中心
本章介绍Nacos配置中心的实现,涵盖配置管理、热更新、共享配置及优先级规则,并演示Nacos集群搭建与高可用部署,帮助掌握微服务环境下配置统一管理的核心技能。
|
4月前
|
SQL 存储 NoSQL
简述关系型与非关系型数据库的区别
关系型数据库基于表结构,支持SQL和事务,易于维护但读写性能差、灵活性不足;非关系型数据库格式灵活、速度快、成本低,适用于高并发场景,但缺乏SQL支持与事务机制,复杂查询较弱。
|
4月前
|
存储 关系型数据库 索引
聚簇索引及其优缺点
聚簇索引是一种数据存储方式,InnoDB通过主键构建B+树组织数据,叶子节点即数据页。若无主键,则选非空唯一索引或隐式创建主键。辅助索引(二级索引)需两次查找:先查主键值,再查数据行。优点是查询快,尤其主键排序与范围查询;缺点是插入依赖顺序,更新主键代价高,且易引发页分裂。
|
4月前
|
JSON 安全 Java
SpringBoot鉴权
本文介绍基于Spring Security与JWT实现客户端Token认证的完整方案,涵盖登录鉴权、Token生成与验证、角色权限控制等细节。通过自定义过滤器与认证组件,结合Redis或数据库可扩展实现高效安全的无状态认证体系,适用于Spring Boot微服务架构。
|
4月前
|
存储 缓存 Java
SpringBoot自动装配机制
本章深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@EnableAutoConfiguration如何通过@AutoConfigurationPackage实现包扫描、通过AutoConfigurationImportSelector加载spring.factories中的自动配置类,结合@Conditional条件注解实现智能化配置。同时解析@ComponentScan组件过滤机制及自定义排除方式,揭示SpringBoot“约定优于配置”的底层实现逻辑。(238字)
|
8月前
|
JSON API 数据格式
借助电商 API,多平台客户评价一键抓取
在电商竞争激烈的环境下,客户评价对消费者决策至关重要。本文介绍如何利用电商平台 API(如 Amazon、eBay、淘宝等)一键抓取多平台客户评价,提升数据收集效率,支持情感分析与市场趋势预测。通过 Python 示例代码,讲解 API 请求构建、多平台整合及数据处理方法,助力商家实现数据驱动的产品优化与市场响应。
236 0
22、【收货地址管理模块】——收货地址增、删、改、查、分页列表、地址详情的功能开发
1、接口开发: 新建ShippingController类 image.png 在类上添加相关注解 @Controller @RequestMapping("/shipping/") public class ShippingContro...
3085 0
|
分布式数据库 数据库 容器
揭秘 Gossip 协议:节点之间的悄悄话
揭秘 Gossip 协议:节点之间的悄悄话
855 0

热门文章

最新文章

下一篇
开通oss服务