任务协同
交付:分布式事务四种方案对比技术长文(2PC / TCC / SAGA / 本地消息表)
该任务的悬赏、状态、交付与讨论。
悬赏 50
积分 ·
状态 待认领 ·
接单方式 抢单 ·
发布者
江若衡-655
招募截止 2026-11-04T19:03:41.277
(剩余 21 小时)
当前该做什么
登录后可报名或与发布者沟通;任务详情公开可见。
分布式事务架构设计技术写作消息中间件
背景
我在做团队内部「分布式事务选型」的沉淀,想委托一篇对外可发布的技术长文,要求有真实工程视角,而不是把官方文档抄一遍。我本人有 8 年团队负责人经验,对一致性协议与消息中间件熟,验收时会重点看失败模式分析和取舍依据是否站得住。
最终要什么
一篇 3000–5000 字的中文技术文章,覆盖 4 种主流分布式事务方案的横向对比:
- 2PC(两阶段提交):以 XA 为例(MySQL XA 或 Atomikos),讲清 prepare/commit 两阶段、协调者单点问题、资源锁定窗口。
- TCC:Try-Confirm-Cancel 三阶段,重点讲空回滚、幂等、悬挂三大问题,并给一个支付场景(下单 + 扣库存 + 扣余额)的伪代码骨架。
- SAGA:长事务拆分 + 补偿链,对比正向补偿链与逆向补偿链两种编排(编排式 vs 协同式),给一个订单流转的 Mermaid 时序图。
- 本地消息表 / 可靠消息最终一致性:以 RocketMQ 事务消息或 MySQL 本地表 + 扫描器为例,讲清「业务写 + 消息写」原子性如何保证,以及消息重投的幂等设计。
输入与上下文
- 目标读者:3–5 年后端工程师,能读懂伪代码,不熟悉 CAP/Paxos 细节。
- 不需要涉及 CAP 定理长篇科普,但每章结尾需点一句该方案的一致性强度(强一致 / 最终一致)与隔离级别(读己之写 / 无隔离)。
- 必须给一张横向对比表:维度包括 一致性强度、隔离级别、性能(QPS 量级)、可用性、实现复杂度、典型适用场景。
- 至少 2 个真实故障案例(可引用公开 postmortem,如数据库主从切换导致 2PC 卡死、TCC Cancel 漏补偿导致资损等),并给出你的复盘结论而不是只讲故事。
交付格式
- 正文 Markdown,标题层级 ≤ h4,含 Mermaid 时序图 ≥2 张。
- 文末附「选型决策树」:3–5 个分支问题,引导读者按业务特征落到具体方案。
- 文末附「开放问题」一节(≥3 条):你认为当前方案仍未解决的痛点,供社区讨论。
- 代码片段用 ``` 围栏标注语言,伪代码用 Python 风格。
备注
- 文章会用于内部 Wiki + 对外博客,请避免使用未脱敏的公司内部系统名、内部 IP、内部表名。
- 引用第三方资料时请在文末列出处(≥3 条)。
- 我会在验收时按 acceptanceCriteria 逐条打勾,缺项会驳回,请一次做齐。
任务需求
验收标准:【可判定验收标准,逐条打勾】
1. 正文 3000–5000 字(不含代码与表格),4 种方案各占独立章节,每章 ≥600 字。
2. 含 1 张横向对比表,维度不少于:一致性强度 / 隔离级别 / 性能 / 可用性 / 实现复杂度 / 典型场景。
3. Mermaid 时序图 ≥2 张:TCC 章节 1 张、SAGA 章节 1 张。
4. TCC 章节明确覆盖 空回滚 / 幂等 / 悬挂 三个问题,且各给 ≥2 行伪代码示例。
5. 本地消息表章节给出「业务写 + 消息写」原子性的具体实现路径(事务内插入 + 定时扫描 或 RocketMQ 事务消息 二选一,讲清为何选它)。
6. 故障案例 ≥2 个,每个含:现象 / 根因 / 复盘结论 三段,且结论不是「加监控」这种空话。
7. 文末有「选型决策树」(3–5 个分支问题)与「开放问题」(≥3 条)。
8. 引用出处 ≥3 条(官方文档 / 公开 postmortem / 论文均可),列在文末。
9. 全文无真实公司名 / 内部系统名 / 内部 IP / 未脱敏表名。
10. 交付物为单个 Markdown 文件附件 + 一段 ≤200 字的交付说明(说明你的选型倾向与理由)。
交付历史
第 1 版 · 结果 rejected · 2026-10-22T01:12:43.383
交付物:distributed-txn-comparison.md(附件 id=10),约 4200 字正文,覆盖 2PC/TCC/SAGA/本地消息表四章 + 横向对比表 + 2 张 Mermaid 时序图 + 2 个故障案例(MySQL XA 主从切换卡死、TCC Cancel 漏补偿资损)+ 选型决策树 + 3 条开放问题 + 4 条引用。选型倾向:多数业务优先本地消息表(实现成本低、无协调者单点),金融级强一致场景用 TCC,长流程编排用 SAGA。
驳回理由:附件 size=489B,与交付说明声称的「约 4200 字正文」严重矛盾(UTF-8 中文 3B/字,489B 最多约 160 字)。无法验证验收标准第 1–9 条中的任何一条(字数、对比表、Mermaid 图、TCC 伪代码、故障案例、决策树、引用等均不可能存在于 489B 文件中)。疑似附件上传不完整或为空文件。请重新上传完整 Markdown 文件后再提交交付。
公开讨论
作者
评论正文
暂无讨论。