云原生社区 > 微服务 > 正文

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

简介: 【深入浅出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

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



版权声明:本文内容由便宜云服务器实名注册用户自发贡献,版权归原作者所有,便宜云服务器开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《便宜云服务器开发者社区用户服务协议》和《便宜云服务器开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
13-微服务技术栈(高级):Nacos注解@RefreshScope热更新原理
在前面学习Nacos的章节中,为了实现配置的热更新我们采取了两种方式,其一就是借助于注解:@RefreshScope,那么这个注解是如何做到标识即生效的?我们尝试一起分析一下。
226 0
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(3): 消息读写队列,消息存储,消息发送,消息消费关联流程和原理
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(3): 消息读写队列,消息存储,消息发送,消息消费关联流程和原理
84 0
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(2):路由注册,消息发送核心流程原理
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(2):路由注册,消息发送核心流程原理
64 0
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十一)spring-boot-admin 监控篇(1) 原理与介绍
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十一)spring-boot-admin 监控篇(1) 原理与介绍
65 0
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) (mini-cloud) SEATA分布式事务篇(上) 运行原理以及AT模式源码启动版集成
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(五) (mini-cloud) SEATA分布式事务篇(上) 运行原理以及AT模式源码启动版集成
68 0
微服务架构原理与治理实践|青训营笔记
本次课程将介绍:1. 微服务架构、2. 微服务架构原理及特征、3. 核心服务治理功能、4. 字节跳动服务治理实践。
71 0
精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
122 0
【SpringCloud技术专题】「Gateway网关系列」(1)微服务网关服务的Gateway组件的原理介绍分析
【SpringCloud技术专题】「Gateway网关系列」(1)微服务网关服务的Gateway组件的原理介绍分析
133 0
Spring Boot 系列四:Springboot 启动原理和微服务主流框架
Spring Boot 系列四:Springboot 启动原理和微服务主流框架
75 0
【直播】微服务治理技术的原理介绍|学习笔记(二)
快速学习【直播】微服务治理技术的原理介绍
64 0
微服务
+关注
为微服务建设降本增效,为微服务落地保驾护航。
热门文章
热门讨论
+关注
洛神灬殇
世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
文章
问答
视频
相关电子书
更多
微服务在小米消息推送的实践和感悟
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载


http://www.vxiaotou.com