前言:
- 当我们使用 同步或者异步发送消息时,成功后,我们得到一个对象 SendResult 对象,其中包含消息发送队列的相关信息。
- 其中 枚举 SendStatus 即是本次消息发送的结果。
SendStatus 枚举如下:
public enum SendStatus {
// 消息发送成功
SEND_OK,
// 消息发送成功,但是服务器刷盘超时,消息已经进入服务器队列,只有此时服务器宕机,消息才会丢失
FLUSH_DISK_TIMEOUT,
// 消息发送成功,但是服务器同步到 Slave 时超时,消息已经进入服务器队列,只有此时服务器宕机,消息才会丢失
FLUSH_SLAVE_TIMEOUT,
// 消息发送成功,但是此时 slave 不可用,消息已经进入服务器队列,只有此时服务器宕机,消息才会丢
SLAVE_NOT_AVAILABLE,
}
本文详细介绍了消息发送后的状态反馈机制,通过SendStatus枚举类型,解释了消息发送成功的几种情况及潜在的风险,如服务器刷盘超时、同步到Slave超时等问题。
900





