分布式事务数据最终一致性之serviceComb-Saga使用方法

如题所述

第1个回答  2022-07-01
1.安装 JDK 1.8

2.安装 Maven 3.x

3.安装 Docker

引入Saga的依赖

注意:如果是使用 https://start.spring.io/ 创建的项目,那么还需要手动添加

这个依赖

最终的pom包含五个依赖

以一个转账应用为例:

在应用入口加入注解@EnableOmega来初始化omega的配置并与alpha建立连接。spring boot就直接在application上加入这个注解

在全局事务的起点添加@SagaStart注解

注意: 默认情况下,超时设置需要显式声明才生效。

在子事务处添加 @Compensable 的注解并指明其对应的补偿方法。

注意: 默认情况下,超时设置需要显式声明才生效。

注意: 若全局事务起点与子事务起点重合,需同时声明 @SagaStart 和 @Compensable 的注解。

对转入服务重复第三步即可。

1.首先运行postgresql

这一步我是在linux服务器上直接运行的,因为第一步我编译是在linux上编译的,本地环境是win7,使用docker不方便

2.运行alpha。在运行alpha前,请确保postgreSQL已正常启动。

这里注意把{docker.host.address}改成你的postpresql的地址
3.最后在你的服务里面配置omega的信息。以yaml为例

然后就可以运行相关的微服务了。

参考自: https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/user_guide_zh.md
补充了部分自己摸索遇到的坑
相似回答
大家正在搜