写点什么

【Alibaba 微服务技术系列】「SpringCloud 技术专题」基于 SpringCloud-Alibaba 的微服务 2.0 模式架构搭建实战指南(解析版本对应关系)

作者:洛神灬殇
  • 2022-12-13
    江苏
  • 本文字数:1705 字

    阅读完需:约 6 分钟

【Alibaba微服务技术系列】「SpringCloud技术专题」基于SpringCloud-Alibaba的微服务2.0模式架构搭建实战指南(解析版本对应关系)

前提介绍

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


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


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

SpringCloud-Alibaba 的开源服务

  • Nacos Config(分布式配置中心)

  • Nacos Discovery(分布式注册中心)

  • Sentinel(熔断限流器)

  • RocketMQ(消息队列)

  • Seata(分布式事务)



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 两个分支迭代。 为了规避相关构建过程中的依赖冲突问题,我们建议可以通过云原生应用脚手架进行项目创建。


2021.x 分支的版本关系

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



注意,该分支 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 版本按从新到旧排列如下表(最新版本用 * 标记):


组件版本关系

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



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


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

访问我们的云原生脚手架

项目构建方式


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


  • Maven Project:

  • 官方仓库:https://mvnrepository.com

  • 下载地址:https://maven.apache.org/download.cgi

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

  • Gradle Project

  • 官方网站:https://gradle.org/

  • 下载地址:https://gradle.org/releases/

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

开发语言

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

  • Kotlin

  • Groovy

Spring Boot 版本

项目基本信息


  • Group:项目分组:需要进行填写项目的包名根目录,一般为域名反向

  • Artifact:项目名称:需要进行填写相关的项目名称。

  • version:项目版本:版本号。

选择高级选项


  • 项目名称:demo,主要设置 maven 项目的根目录

  • 项目描述:Demo project for Spring Boot,设置项目信息描述介绍

  • 项目基础包:com.example.demo

  • 打包方式:Jar/War

  • Java 版本:11/8

应用架构


  • 单模块:属于最简单的架构案例

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


  • Jackso 案例

  • Thymeleaf 案例

  • Mybatis 案例

  • Web 服务案例(Controller 控制器)

  • 分层架构:主要指的是前后端分离的架构案例,所以不会有对应的 Thymeleaf 案例了。


组件依赖


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

  • Spring Cloud Alibaba

其他组件可以自行选择即可
  • 开发工具

  • Web

  • 模板引擎

  • 安全

  • 关系型数据库

  • 非关系型数据库

  • 消息

  • 输入/输出

  • Ops

  • 观测

  • 等等......

点击浏览代码

点击下载代码


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

发布于: 2022-12-13阅读数: 29
用户头像

洛神灬殇

关注

🏆 InfoQ写作平台-签约作者 🏆 2020-03-25 加入

【个人简介】酷爱计算机科学、醉心编程技术、喜爱健身运动、热衷悬疑推理的“极客达人” 【技术格言】任何足够先进的技术都与魔法无异 【技术范畴】Java领域、Spring生态、MySQL专项、微服务/分布式体系和算法设计等

评论

发布
暂无评论
【Alibaba微服务技术系列】「SpringCloud技术专题」基于SpringCloud-Alibaba的微服务2.0模式架构搭建实战指南(解析版本对应关系)_SpringCloud_洛神灬殇_InfoQ写作社区