RocketMQ的生产者,发送消息后消息返回哪些状态 ?

RocketMQ的生产者发送消息后,消息可能返回以下状态:

  1. SEND_OK:消息发送成功。
  2. FLUSH_DISK_TIMEOUT:消息发送成功,但服务在进行刷盘的时候超时了。消息已经进入服务器队列,刷盘超时会等待下一次的刷盘时机再次刷盘,如果此时服务器down机消息丢失,会返回此种状态,如果业务系统是可靠性消息投递,那么需要重发消息。
  3. FLUSH_SLAVE_TIMEOUT:在主从同步的时候,同步到Slave超时了。如果此时Master节点down机,消息也会丢失。
  4. SLAVE_NOT_AVAILABLE:消息发送成功,但Slave不可用,只有Master节点down机,消息才会丢失。后三种状态,如果业务系统是可靠性消息投递,那么需要考虑补偿进行可靠性的重试投递。

发表评论

后才能评论