SpringCloud概述

简介: Spring Cloud是Spring推出的微服务一站式解决方案,整合多种技术,实现服务注册发现、配置管理、负载均衡等功能。约定大于配置,开箱即用,支持云原生。Netflix组件停更后,Spring Cloud Alibaba成为主流,集成Nacos、Sentinel、Seata等阿里开源组件,提供完整微服务生态支持。

SpringCloud概述
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
截图软件:
xsnip_1.1.0.4.zip
(360 KB)

相关文章
|
1天前
|
监控 Java 应用服务中间件
微服务保护Sentinel
本课程系统讲解微服务雪崩问题及Sentinel解决方案,涵盖限流、熔断、隔离、降级等核心机制。通过实战掌握Sentinel部署、三种流控模式(直接、关联、链路)、四种流控效果(快速失败、预热、排队)、Feign整合、线程隔离与授权规则,并了解规则持久化方案,全面提升微服务稳定性与高可用能力。
17 0
|
1天前
|
NoSQL Redis
Redis集群伸缩,转移插槽失败
Redis集群伸缩时出现插槽转移失败,提示节点配置不一致及存在导入中插槽。需登录对应实例,如`redis-cli -c -p 7004`,根据警告信息获取异常slot ID(如0),执行`cluster setslot 0 stable`取消迁移,恢复集群一致性后方可重新平衡。
12 0
|
1天前
|
存储 缓存 NoSQL
分布式缓存Redis(高级)
本课程深入讲解Redis高级应用,涵盖持久化机制(RDB/AOF)、主从同步、哨兵集群、分片集群搭建与故障转移,结合SpringBoot实战RedisTemplate集成,助力掌握高可用、高性能的分布式缓存架构设计与落地。
15 0
|
1天前
|
消息中间件 存储 Java
消息中间件RabbitMQ(高级)
本节深入RabbitMQ高级特性,涵盖消息可靠性保障、持久化、消费者确认与重试机制,结合TTL与死信交换机实现延迟队列,通过惰性队列解决消息堆积,并详解普通集群、镜像集群及仲裁队列的搭建与应用,全面提升RabbitMQ在生产环境中的高可用与稳定性。
18 0
|
1天前
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关是微服务架构的统一入口,具备路由转发、权限控制、限流及负载均衡等核心功能。基于SpringCloud Gateway可实现高性能响应式编程,支持丰富的断言与过滤器工厂,并可通过全局过滤器扩展自定义逻辑,有效解决跨域等问题,是微服务治理的关键组件。
22 0
|
1天前
|
存储 NoSQL Linux
Redis集群部署指南
本教程基于CentOS7详解Redis集群部署,涵盖单机安装、主从复制、哨兵高可用及分片集群搭建。通过多实例模拟真实环境,深入讲解配置、启动、主从切换与数据读写测试,助你掌握Redis分布式架构核心技能。
11 0
|
1天前
|
负载均衡 算法 架构师
Ribbon负载均衡
本节深入解析Ribbon负载均衡机制,介绍其为何在RestTemplate上添加@LoadBalanced注解。Ribbon通过客户端实现负载均衡,结合Eureka服务发现,利用拦截器选择服务实例并重写请求地址。文章详解了负载均衡分类、常见算法、Ribbon自定义策略及饥饿加载优化,并引导读者思考不同架构下的负载均衡实现差异。
20 0
|
1天前
|
消息中间件 Shell Linux
RabbitMQ部署指南
本指南详细介绍RabbitMQ在CentOS7中基于Docker的单机与集群部署,涵盖DelayExchange插件安装、普通模式与镜像模式集群搭建、仲裁队列配置及高可用测试,助力实现稳定可靠的消息队列服务。
15 0
|
1天前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强版持久层框架,简化单表CRUD操作,内置代码生成、分页插件、逻辑删除等功能,支持条件构造器和自定义SQL,提升开发效率,广泛应用于企业级Java项目中。
10 0
|
1天前
|
消息中间件 存储 NoSQL
Mac系统安装教程
本文介绍在Mac系统上安装RabbitMQ的两种方法:通过Homebrew一键安装和二进制文件手动安装。RabbitMQ是基于AMQP协议的开源消息代理,支持异步通信、解耦服务,在微服务架构中广泛应用。教程涵盖安装、启动、验证全过程,附官网及参考链接,适合初学者快速上手部署。
18 0