网站备案时要不要关闭,wordpress 锚点定位,wordpress恢复默认设置,ui特效网站系列文章目录 文章目录 系列文章目录前言 前言
前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站#xff0c;这篇文章男女通用#xff0c;看懂了就去分享给你的码吧。 Seata 是一款开源的…系列文章目录 文章目录 系列文章目录前言 前言
前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站这篇文章男女通用看懂了就去分享给你的码吧。 Seata 是一款开源的分布式事务解决方案致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色帮助经济体平稳的度过历年的双11对各BU业务进行了有力的支撑。经过多年沉淀与积累商业化产品先后在阿里云、金融云进行售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果Seata 正式宣布对外开源未来 Seata 将以社区共建的形式帮助其技术更加可靠与完备。 Windows上安装Seata服务http://www.javacui.com/tool/622.html
Windows安装Nacoshttp://www.javacui.com/opensource/603.html
Seata之XA 模式的使用http://www.javacui.com/java/623.html
官方说明http://seata.io/zh-cn/docs/dev/mode/at-mode.html
整体机制
两阶段提交协议的演变
一阶段业务数据和回滚日志记录在同一个本地事务中提交释放本地锁和连接资源。
二阶段
提交异步化非常快速地完成。
回滚通过一阶段的回滚日志进行反向补偿。
可以看到与XT不同的是AT业务数据会马上提交不会占用数据库资源同时使用日志进行数据回滚。
同时引入全局锁来避免脏写问题。
如果一个非seata管理的程序修改了数据而同时被seata管理的程序发生了失败此时seata是无法恢复数据的这时需要手工修复数据。
如果要使用AT模式需要增加两张表lock_table放到seata访问的数据库undo_log每个模块连接的数据库都要有。
-- 注意此处0.7.0 增加字段 context
CREATE TABLE undo_log (id bigint(20) NOT NULL AUTO_INCREMENT,branch_id bigint(20) NOT NULL,xid varchar(100) NOT NULL,context varchar(128) NOT NULL,rollback_info longblob NOT NULL,log_status int(11) NOT NULL,log_created datetime NOT NULL,log_modified datetime NOT NULL,PRIMARY KEY (id),UNIQUE KEY ux_undo_log (xid,branch_id)
) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8;
CREATE TABLE lock_table (row_key varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,xid varchar(96) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,transaction_id bigint(20) NULL DEFAULT NULL,branch_id bigint(20) NOT NULL,resource_id varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,table_name varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,pk varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,gmt_create datetime NULL DEFAULT NULL,gmt_modified datetime NULL DEFAULT NULL,PRIMARY KEY (row_key) USING BTREE,INDEX idx_branch_id(branch_id) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8;
修改配置
seata:data-source-proxy-mode: AT