<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>分布式事务 on 知识铺的博客</title>
    <link>https://index.zshipu.com/geek001/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/</link>
    <description>Recent content in 分布式事务 on 知识铺的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Wed, 02 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://index.zshipu.com/geek001/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>为什么要在数据库事务提交后才发布Kafka消息</title>
      <link>https://index.zshipu.com/geek001/post/20260902/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%9C%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%90%8E%E6%89%8D%E5%8F%91%E5%B8%83Kafka%E6%B6%88%E6%81%AF/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20260902/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E5%9C%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%8B%E5%8A%A1%E6%8F%90%E4%BA%A4%E5%90%8E%E6%89%8D%E5%8F%91%E5%B8%83Kafka%E6%B6%88%E6%81%AF/</guid>
      <description>当应用在数据库事务提交前就发布Kafka消息时，一旦事务失败回滚，消息已送出但数据未落库。消费者收到消息后尝试处理不存在的批次，依赖重试机制可能导致问题长期不被察觉。 这种bug在本地测试中几乎不会暴露。开发者通常在同一事务内模拟成功路径，很难构造出“消息发出而事务回滚”的精确时序</description>
    </item>
    <item>
      <title>分布式事务解决方案(一) 2PC、3PC、TCC、Sega</title>
      <link>https://index.zshipu.com/geek001/post/20240723/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%80-2PC3PCTCCSega--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Tue, 30 Jul 2024 11:40:51 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240723/%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%80-2PC3PCTCCSega--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>在分布式系统中，确保不同系统间操作的原子性是至关重要的。这通常通过分布式事务来实现。分布式事务的一个经典解决方案是两阶段提交（2PC）。2PC由两个主要组件构成：事务协调器（TM）和资源管理器（RM）。事务协调器负责生成全局事务ID并发起预写和提交的请求，而资源管理器则作为SDK</description>
    </item>
  </channel>
</rss>
