Skip to content

Commit ed8f9fc

Browse files
authored
docs: modify how-to-ensure-the-reliable-transmission-of-messages.md (#303)
1 parent 01d4d3f commit ed8f9fc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/high-concurrency/how-to-ensure-the-reliable-transmission-of-messages.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ RabbitMQ 如果丢失了数据,主要是因为你消费的时候,**刚消费
178178

179179
#### 生产者发送消息时如何保证不丢失?
180180

181-
解决发送时消息丢失的问题可以采用 RocketMQ 自带的**事物消息**机制
181+
解决发送时消息丢失的问题可以采用 RocketMQ 自带的**事务消息**机制
182182

183-
事物消息原理:首先生产者会发送一个**half 消息**(对原始消息的封装),该消息对消费者不可见,MQ 通过 ACK 机制返回消息接受状态, 生产者执行本地事务并且返回给 MQ 一个状态(Commit、RollBack 等),如果是 Commit 的话 MQ 就会把消息给到下游, RollBack 的话就会丢弃该消息,状态如果为 UnKnow 的话会过一段时间回查本地事务状态,默认回查 15 次,一直是 UnKnow 状态的话就会丢弃此消息。
183+
事务消息原理:首先生产者会发送一个**half 消息**(对原始消息的封装),该消息对消费者不可见,MQ 通过 ACK 机制返回消息接受状态, 生产者执行本地事务并且返回给 MQ 一个状态(Commit、RollBack 等),如果是 Commit 的话 MQ 就会把消息给到下游, RollBack 的话就会丢弃该消息,状态如果为 UnKnow 的话会过一段时间回查本地事务状态,默认回查 15 次,一直是 UnKnow 状态的话就会丢弃此消息。
184184

185185
为什么先发一个 half 消息,作用就是先判断下 MQ 有没有问题,服务正不正常。
186186

0 commit comments

Comments
 (0)