Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
晶之木
advanced-java
提交
97e10054
A
advanced-java
项目概览
晶之木
/
advanced-java
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
advanced-java
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
97e10054
编写于
3月 29, 2020
作者:
Y
ylb
提交者:
Gitee
3月 29, 2020
浏览文件
操作
浏览文件
下载
差异文件
fix:update docs/distributed-system/distributed-transaction.md.
Merge pull request !1 from yanwankun/N/A
上级
b4137403
16c13093
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
1 deletion
+1
-1
docs/distributed-system/distributed-transaction.md
docs/distributed-system/distributed-transaction.md
+1
-1
未找到文件。
docs/distributed-system/distributed-transaction.md
浏览文件 @
97e10054
...
...
@@ -71,7 +71,7 @@ TCC 的全称是:`Try`、`Confirm`、`Cancel`。
3.
如果发送了确认消息,那么此时 B 系统会接收到确认消息,然后执行本地的事务;
4.
mq 会自动
**定时轮询**
所有 prepared 消息回调你的接口,问你,这个消息是不是本地事务处理失败了,所有没发送确认的消息,是继续重试还是回滚?一般来说这里你就可以查下数据库看之前本地事务是否执行,如果回滚了,那么这里也回滚吧。这个就是避免可能本地事务执行成功了,而确认消息却发送失败了。
5.
这个方案里,要是系统 B 的事务失败了咋办?重试咯,自动不断重试直到成功,如果实在是不行,要么就是针对重要的资金类业务进行回滚,比如 B 系统本地回滚后,想办法通知系统 A 也回滚;或者是发送报警由人工来手工回滚和补偿。
6.
这个还是比较合适的,目前国内互联网公司大都是这么玩儿的,要不你
举
用 RocketMQ 支持的,要不你就自己基于类似 ActiveMQ?RabbitMQ?自己封装一套类似的逻辑出来,总之思路就是这样子的。
6.
这个还是比较合适的,目前国内互联网公司大都是这么玩儿的,要不你
就
用 RocketMQ 支持的,要不你就自己基于类似 ActiveMQ?RabbitMQ?自己封装一套类似的逻辑出来,总之思路就是这样子的。
![
distributed-transaction-reliable-message
](
/images/distributed-transaction-reliable-message.png
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录