基于Spring Cloud Alibaba快速构建分布式系统基础框架 Step 1

基于Spring Cloud Alibaba快速构建分布式系统基础框架 Step 1

1. 根项目创建

1.1 IDEA基于Aliyun Spring Initializer创建根项目

此步骤根据所需的微服务、分布式功能选择对应的依赖包

  • 创建项目,选择Spring Initializer脚手架
  • 点击Spring Initializer脚手架的设置按钮,配置阿里的云原生脚手架网址:https://start.aliyun.com/(国内无法使用spring官方的脚手架)
  • 选择依赖,填写项目信息,创建项目

1.2 根项目 .pom配置

不同的组件版本之间使用起来会有各种各样的兼容性问题,所以需要选择合适的组件版本以避免各种不必要的"疑难杂症"

  • 定义根项目的通用properties,常用的比如项目版本revision,spring cloud 框架的版本,mven编译的jdk版本
<!--此处引用定义好的根项目的版本号-->
<version>${revision}</version>
<properties>   
        <revision>1.0.0</revision> 
        <spring-boot.version>3.3.2</spring-boot.version>
        <spring-cloud.version>2023.0.3</spring-cloud.version>
        <spring-cloud-alibaba.version>2023.0.1.2</spring-cloud-alibaba.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <spring-boot-admin.version>3.3.3</spring-boot-admin.version>
        <spring.authorization.version>1.3.1</spring.authorization.version>
        <screw.version>0.0.3</screw.version>
        <captcha.version>2.2.3</captcha.version>
        <aws.
LiteFlow 是阿里巴巴开源的一款轻量级工作流引擎,它可以协调多个微服务之间的业务流程,实现工作流的自动化流转。在 Spring Cloud Alibaba 中,使用 LiteFlow 非常简单,主要分为以下几步: 1. 引入 LiteFlow 依赖 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.liteflow</groupId> <artifactId>liteflow-spring-cloud-starter</artifactId> <version>1.0.0</version> </dependency> ``` 2. 配置 LiteFlow 在 application.yml 文件中添加以下配置: ```yaml liteflow: # LiteFlow 引擎的配置 engine: # 引擎的名称,建议使用默认值 name: default # 引擎的类型,建议使用默认值 type: memory # 引擎的配置,建议使用默认值 config: {} # LiteFlow 数据源的配置 datasource: # 数据源的类型,建议使用默认值 type: nacos # 数据源的配置 config: # Nacos 服务器的地址 server-addr: localhost:8848 # Nacos 中 LiteFlow 数据源的命名空间 namespace: liteflow ``` 3. 定义工作流 在 Spring Boot 应用中,可以使用 `@Workflow` 注解定义一个工作流,如下所示: ```java @Workflow(name = "myWorkflow") public class MyWorkflow { @FlowMethod public String step1(String input) { System.out.println("step1: " + input); return "step1"; } @FlowMethod public String step2(String input) { System.out.println("step2: " + input); return "step2"; } @FlowMethod public String step3(String input) { System.out.println("step3: " + input); return "step3"; } } ``` 在这个工作流中,定义了三个步骤:step1step2 和 step3。每个步骤都使用 `@FlowMethod` 注解标记,表示这是一个可以执行的方法。在实际应用中,每个步骤通常会调用其他的业务逻辑。 4. 执行工作流 在 Spring Boot 应用中,可以使用 `@Autowired` 注解将 LiteFlow 引擎注入到需要执行工作流的类中,如下所示: ```java @RestController public class MyController { @Autowired private Engine engine; @GetMapping("/workflow") public String workflow() { // 创建工作流实例 WorkflowData workflowData = new WorkflowData(); workflowData.put("input", "test"); // 执行工作流 engine.execute("myWorkflow", workflowData); // 获取工作流输出 return workflowData.get("output"); } } ``` 在这个示例中,我们创建了一个 `Engine` 实例,然后使用 `execute` 方法执行工作流。执行工作流时,需要指定工作流的名称以及输入参数。执行完成后,可以通过 `WorkflowData` 对象获取工作流输出。 以上就是在 Spring Cloud Alibaba 中使用 LiteFlow 的主要步骤。需要注意的是,在实际应用中,工作流通常会比这个示例更加复杂,需要考虑并发、错误处理、超时等情况。LiteFlow 提供了丰富的 API 和配置项,可以满足各种场景的需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值