【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 MSE Higress,422元/月
简介: 【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析

前提介绍


SpringCloud-Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。


依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。


此外,阿里云同时还提供了 Spring Cloud Alibaba 企业版 微服务解决方案,包括无侵入服务治理(全链路灰度,无损上下线,离群实例摘除等),企业级 Nacos 注册配置中心和企业级云原生网关等众多产品。




SpringCloud-Alibaba的开源服务


  • Nacos Config(分布式配置中心)
  • Nacos Discovery(分布式注册中心)
  • Sentinel(熔断限流器)
  • RocketMQ(消息队列)
  • Seata(分布式事务)

image.png

Spring Cloud Alibaba从开源建设以来,受到了很多社区同学的关注。社区的每一个 issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring Cloud添砖加瓦。




SpringCloud-Alibaba版本说明


SpringBoot+SpringCloud+SpringCloud-Alibaba对的版本关系


由于Spring Boot 2.4+和以下版本之间变化较大,目前企业级客户老项目相关Spring Boot版本仍停留在SpringBoot2.4以下,为了同时满足存量用户和新用户不同需求,社区以SpringBoot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。 为了规避相关构建过程中的依赖冲突问题,我们建议可以通过云原生应用脚手架进行项目创建。

image.png


2021.x 分支的版本关系


适配SpringBoot 2.4,Spring Cloud2021.x版本及以上的Spring Cloud Alibaba版本按从新到旧排列如下表(最新版本用 * 标记)image.png

注意,该分支 Spring Cloud Alibaba版本命名方式进行了调整,未来将对应Spring Cloud版本,前三位为Spring Cloud版本,最后一位为扩展版本,比如适配 Spring Cloud 2021.0.1 版本对应的Spring Cloud Alibaba第一个版本为:2021.0.1.0,第个二版本为:2021.0.1.1,依此类推)



2.2.x 分支


适配 Spring Boot 为 2.4,Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本按从新到旧排列如下表(最新版本用 * 标记):

image.png



组件版本关系


每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进):

image.png

image.png




使用Alibaba云原生脚手架搭建SpringCloud-Alibaba框架



使用对应的SpringCloud-Alibaba脚手架进行搭建框架的方案和案例实战,接下来会进行分析说明,在讨论如何搭建之前,我们需要分析一下SpringBoot、SpringCloud和SpringCloud-Alibaba的版本关系对应关系,否则你会很难受,无法正常启动和实现你所想要实现的功能效果。




访问我们的云原生脚手架

image.png


项目构建方式

image.png

首先需要选择项目构建方式,对于我们常用的构建方式主要有Maven和Gradle中两种类型


  • Maven Project:



  • 选择对应的版本安装包即可

image.png

  • Gradle Project
  • 选择对应的版本安装包即可

image.png




开发语言


  • Java:主要作为我们首选开发语言
  • Kotlin
  • Groovy



Spring Boot版本

image.png

项目基本信息

image.png

  • Group:项目分组:需要进行填写项目的包名根目录,一般为域名反向
  • Artifact:项目名称:需要进行填写相关的项目名称。
  • version:项目版本:版本号。


选择高级选项

image.png

  • 项目名称:demo,主要设置maven项目的根目录
  • 项目描述:Demo project for Spring Boot,设置项目信息描述介绍
  • 项目基础包:com.example.demo
  • 打包方式:Jar/War
  • Java版本:11/8



应用架构

image.png

  • 单模块:属于最简单的架构案例
  • MVC架构:采用SpringMVC框架实现web服务,可以选择一些服务组件案例,作为我们项目参考

image.png

  • Jackso案例
  • Thymeleaf案例
  • Mybatis案例
  • Web服务案例(Controller控制器)
  • 分层架构:主要指的是前后端分离的架构案例,所以不会有对应的Thymeleaf案例了。
  • image.png

组件依赖

image.png

  • Alibaba Cloud:主要用于阿里云的组件服务

image.png

  • Spring Cloud Alibaba

image.png

其他组件可以自行选择即可



  • 开发工具
  • Web
  • 模板引擎
  • 安全
  • 关系型数据库
  • 非关系型数据库
  • 消息
  • 输入/输出
  • Ops
  • 观测
  • 等等......


点击浏览代码

image.png

点击下载代码

image.png

这样就完成了整体的架构搭建代码



相关文章
|
22天前
|
算法 Java 微服务
【SpringCloud(1)】初识微服务架构:创建一个简单的微服务;java与Spring与微服务;初入RestTemplate
微服务架构是What?? 微服务架构是一种架构模式,它提出将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务允许在其独立的进程中,服务于服务间采用轻量级的通信机制互相协作(通常是Http协议的RESTful API或RPC协议)。 每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建
358 126
|
22天前
|
负载均衡 算法 Java
【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
1. 什么是服务治理? SpringCloud封装了Netfix开发的Eureka模块来实现服务治理 在传统pc的远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册
134 0
|
1月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
15天前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
325 1
|
8月前
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
9月前
|
人工智能 SpringCloudAlibaba 自然语言处理
SpringCloud Alibaba AI整合DeepSeek落地AI项目实战
在现代软件开发领域,微服务架构因其灵活性、可扩展性和模块化特性而受到广泛欢迎。微服务架构通过将大型应用程序拆分为多个小型、独立的服务,每个服务运行在其独立的进程中,服务与服务间通过轻量级通信机制(通常是HTTP API)进行通信。这种架构模式有助于提升系统的可维护性、可扩展性和开发效率。
2596 2
|
11月前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
1416 8
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
11月前
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
2230 14
Spring Cloud Alibaba:一站式微服务解决方案

热门文章

最新文章

下一篇
开通oss服务