延时消息
2022-08-22 10:15:55 10 举报
延时消息
作者其他创作
大纲/内容
Consume Message
NM.Topic = PROPERTY_REAL_TOPIC
Process sendMessageBack
Pull Message
Re-Deliver
Timeup
NM.PROPERTY_REAL_TOPIC= %RETRY%CG
NM.QueueId = DelayLV - 1
Dispatch NM into ConsumeQueueNM.Tag = DeliverTime
Broker
NM = lookMessageByOffset
Schedule Delay Messages
Change
Report Subscription To Broker
Result
Persistence
Backup Real Topic toPROPERTY_RETRY_TOPIC
Consume sendMessageBack
return RECONSUME_LATER
MessageStore.putMessage
Success
Consumer
NM.Topic = 'SCHEDULE_TOPIC_XXXX'
Delete From ProcessQueue
Failed
Create New Message (NM)
Append NM into CommitLog
NM.Body = OM.Body
SendBack
DelayLV = ReconsumeTimes + 3
Backup
clearPropertyPROPERTY_DELAY_TIME_LEVEL
Prepare
Subscrbe TOPIC: %RETRY%ConsumerGroup
Fetch Original Message (OM)By Original CommitLog Offset
Report Consume Offsett
0 条评论
下一页