SpringCloud概述

简介: Spring Cloud应微服务需求而生,提供统一解决方案,具备开箱即用、组件丰富、云原生适配等特点。通过地铁站命名版本,避免子项目冲突。Netflix组件停更后,Spring Cloud Alibaba凭借Nacos、Sentinel、Seata等成熟组件成为主流选择,助力高效构建微服务架构。

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自身的特点、版本号、依赖关系做了概要论述,这些都是为了接下来的实战打好基础。

相关文章
|
29天前
|
消息中间件 Shell Linux
RabbitMQ部署指南
本文介绍了RabbitMQ的单机与集群部署方案,涵盖Docker环境下镜像安装、DelayExchange插件配置及三种集群模式(普通、镜像、仲裁队列)的实现。重点讲解了镜像模式的高可用特性与仲裁队列的自动副本管理,提升消息系统的可靠性与扩展性。
118 0
RabbitMQ部署指南
|
29天前
|
负载均衡 应用服务中间件 Nacos
Nacos配置中心
本章深入讲解Nacos配置中心实战,涵盖配置管理、热更新、共享配置及优先级规则,并通过搭建Nacos集群实现高可用部署,结合Spring Cloud Alibaba实现微服务动态配置,提升系统可维护性与稳定性。
|
29天前
|
负载均衡 Java Nacos
Gateway服务网关
网关是微服务架构的统一入口,实现请求路由、权限控制、限流及负载均衡。SpringCloud Gateway基于WebFlux,性能优于Zuul。支持断言与过滤器工厂,可自定义全局过滤器,解决跨域等问题,是微服务流量管控的核心组件。
128 0
|
29天前
|
存储 安全 数据库
RememberMe简介及用法
RememberMe功能实现用户关闭浏览器后仍保持登录状态,非简单存储账号密码。通过勾选“记住我”,服务端生成令牌并存入Cookie,后续请求自动携带该令牌验证身份。为提升安全性,可将Token持久化至数据库,并结合二次校验机制,防止令牌泄露导致的安全风险。
|
29天前
|
SQL Nacos 数据库
练习
本课程围绕微服务核心组件展开,涵盖Nacos配置中心、Feign远程调用及Gateway网关搭建。通过实践掌握配置管理、服务通信优化与统一网关鉴权,提升系统可维护性与架构设计能力,强化代码整合与主动优化经验。
练习
|
29天前
|
关系型数据库 MySQL Nacos
练习
本作业旨在掌握Docker部署微服务中间件及完整工程的流程,涵盖Nacos、MySQL、耗材中心、医生站与网关服务的安装、配置与验证,通过Dockerfile和docker-compose实现多服务协同运行。
|
29天前
|
消息中间件 SQL API
练习
本课程作业旨在掌握Docker部署RabbitMQ、消息队列在实际场景中的应用及第三方短信API的集成。通过医嘱创建后发送短信通知的案例,学习消息生产与消费、Spring Boot整合AMQP、以及调用阿里云短信API实现通知功能,巩固微服务间异步通信与外部服务对接能力。
练习
|
29天前
|
SQL 安全 关系型数据库
了解SQL注入
SQL注入是通过恶意输入操纵数据库查询的攻击方式,可导致身份验证绕过、数据泄露、篡改甚至系统命令执行。其原理是在用户输入中插入恶意SQL代码,利用应用输入验证不足和动态拼接SQL语句的漏洞。常见防御包括白名单验证、参数化查询、错误信息屏蔽及使用IPS等网络防护措施。OWASP将其列为头号Web安全威胁。
|
29天前
|
SQL 安全 网络协议
常见的网络攻击
恶意软件指具有破坏性意图的软件,如病毒、勒索软件、间谍软件等,常通过钓鱼邮件或漏洞入侵系统,窃取数据、加密文件或瘫痪系统。网络钓鱼伪装成可信来源骗取敏感信息。中间人攻击在通信中窃听并篡改数据。DDoS攻击利用大量流量使服务瘫痪,近年呈现加密化、大规模趋势。SQL注入通过输入恶意代码获取数据库信息。零日攻击利用未修复漏洞快速发起攻击。DNS隧道则滥用域名协议传输非法数据,实现数据外泄与远程控制。
|
29天前
|
XML JSON Java
RESTful
RESTful是一种基于资源的API设计规范,强调用统一标准操作资源,解决传统接口路径混乱、行为不一致问题。它将万物视为资源,通过URI标识,结合HTTP动词实现增删改查,具备结构清晰、易于理解与扩展的优势。