【分布式事务框架 seata】系列 3. client篇

上一篇介绍了Seata server,这一篇重点讲一下 Seata client的启动。

Client顾名思义就是使用了seata框架的客户端,

我们这里使用的是微服务框架,所以微服务即是 seata client。

1. 环境:

组件        版本
SpringBoot2.1.18.RELEASE
SpringCloudGreenwich.SR6
Oracle12C

由于本人测试,使用的数据库是oracle,

当然Seata对mysql的支持更好一些,使用起来并没有什么区别。

只是undo_log的sql不同。

2. 配置:

首先是application.yml

seata:
  tx-service-group: his_tx_group
  config:
    type: file
    file:
      name: file.conf
  service:
    vgroup-mapping:
      his_tx_group: seata-server-ta # 此处配置对应Server端配置registry.eureka.application的值
  registry:
    type: eureka
    eureka:
      service-url: http://192.168.187.28:8081/eureka
      weight: 1

详细配置,如果未使用配置中心,只用file类型,

可将server中的file.conf文件,拷贝到配置文件路径下即可。

如图

file.conf可以进行更详细的参数配置,参数参考网址:

Seata 参数配置

 3. 启动:

启动服务前,要在当前连接的数据库中创建undo_log表

脚本如下:

CREATE TABLE undo_log
(
    id            NUMBER(19)    NOT NULL,
    branch_id     NUMBER(19)    NOT NULL,
    xid           VARCHAR2(100) NOT NULL,
    context       VARCHAR2(128) NOT NULL,
    rollback_info BLOB          NOT NULL,
    log_status    NUMBER(10)    NOT NULL,
    log_created   TIMESTAMP(0)  NOT NULL,
    log_modified  TIMESTAMP(0)  NOT NULL,
    PRIMARY KEY (id),
    CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
);

COMMENT ON TABLE undo_log IS 'AT transaction mode undo table';

-- Generate ID using sequence and trigger
CREATE SEQUENCE UNDO_LOG_SEQ START WITH 1 INCREMENT BY 1;

注:此sql也是从角落找到的,官方并未给出,

因代码无侵入,client代码为普通springboot web工程,所以代码无需修改,

直接启动微服务即可,

启动日志包括如下:

 启动成功,已注册上seata server

后续文章,将讲解如何使用seata 开启事务,及测试demo..


喜欢的朋友请 “点赞收藏”,多谢支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值