From e9c67415d9c464100bc3c96b46352cc5e9041890 Mon Sep 17 00:00:00 2001 From: Licox04 <150530046+Licox04@users.noreply.github.com> Date: Thu, 21 Aug 2025 22:03:41 +0800 Subject: [PATCH] Fix Typo Update 06message5.md --- docs/02-producer/06message5.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/02-producer/06message5.md b/docs/02-producer/06message5.md index 9cb74a0292..4e1dbe43a4 100644 --- a/docs/02-producer/06message5.md +++ b/docs/02-producer/06message5.md @@ -18,7 +18,7 @@ ![事务消息1](../picture/事务消息1.png) -事务消息发送分为两个阶段。第一阶段会发送一个**半事务消息**,半事务消息是指暂不能投递的消息,生产者已经成功地将消息发送到了 Broker,但是Broker 未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状态,如果发送成功则执行本地事务,并根据本地事务执行成功与否,向 Broker 半事务消息状态(commit或者rollback),半事务消息只有 commit 状态才会真正向下游投递。如果由于网络闪断、生产者应用重启等原因,导致某条事务消息的二次确认丢失,Broker 端会通过扫描发现某条消息长期处于“半事务消息”时,需要主动向消息生产者询问该消息的最终状态(Commit或是Rollback)。这样最终保证了本地事务执行成功,下游就能收到消息,本地事务执行失败,下游就收不到消息。总而保证了上下游数据的一致性。 +事务消息发送分为两个阶段。第一阶段会发送一个**半事务消息**,半事务消息是指暂不能投递的消息,生产者已经成功地将消息发送到了 Broker,但是Broker 未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状态,如果发送成功则执行本地事务,并根据本地事务执行成功与否,向 Broker 发送半事务消息状态(commit或者rollback),半事务消息只有 commit 状态才会真正向下游投递。如果由于网络闪断、生产者应用重启等原因,导致某条事务消息的二次确认丢失,Broker 端会通过扫描发现某条消息长期处于“半事务消息”时,需要主动向消息生产者询问该消息的最终状态(Commit或是Rollback)。这样最终保证了本地事务执行成功,下游就能收到消息,本地事务执行失败,下游就收不到消息。总而保证了上下游数据的一致性。 整个事务消息的详细交互流程如下图所示: @@ -160,4 +160,4 @@ public interface TransactionListener { 此外,需要注意的是事务消息的生产组名称 ProducerGroupName不能随意设置。事务消息有回查机制,回查时Broker端如果发现原始生产者已经崩溃,则会联系同一生产者组的其他生产者实例回查本地事务执行情况以Commit或Rollback半事务消息。 -::: \ No newline at end of file +:::