6

【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基...

 1 year ago
source link: https://www.cnblogs.com/liboware/p/16981429.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

SpringCloud-Alibaba的开源服务

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

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

up-3a0e7b51ad9e4f0dcdc8043c1ef1cc00286.png

2021.x 分支的版本关系

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

up-f257dd42c38347be9c1c8b25d57633e07a2.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 版本按从新到旧排列如下表(最新版本用 * 标记):

up-dcb750592739ae0504f1c8b19c5b7c4de8f.png

组件版本关系

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

up-993a7076bc7e00f5ee4ca0f094acdf33917.png


up-5c89ffe0c0ad3d536529fa728753218c988.png

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

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

访问我们的云原生脚手架

up-91aaefb1bb002d2717f9517833b096982fb.png

项目构建方式

up-6aea0690e67a9866f74ad5e237361f5f4b6.png

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

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

Spring Boot版本

up-ced81b973083d15624fee027be528f77abf.png

项目基本信息

up-180952c46de2e53264b562cc4922d92b74e.png
  • Group:项目分组:需要进行填写项目的包名根目录,一般为域名反向
  • Artifact:项目名称:需要进行填写相关的项目名称。
  • version:项目版本:版本号。
选择高级选项

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

up-ea80b7383a6bc83f84676c90c7a1242e8a9.png

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

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

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

    up-a2a5809d3eb6c1ab8314b21e86dcf53af38.png

up-a326c570400c277c454a06a267c2c80212f.png
  • Alibaba Cloud:主要用于阿里云的组件服务
    up-11cf1906028f956ef65a47ac8065e09783f.png
  • Spring Cloud Alibaba
    up-f50197d982267fd45548012108752d7d4ee.png
其他组件可以自行选择即可
  • 关系型数据库
  • 非关系型数据库
  • 输入/输出
  • 等等......

点击浏览代码

up-cb561cb35f4db084251ad2a5c890a709a58.png

点击下载代码

up-c6e3904605a1e9e3a1fd7ed50c6989ad0d4.png

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

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK