生产者消息发送阶段
同步发送
消息发送到broker,阻塞当前线程,等待响应的结果
消息发送重试机制
消息发送失败后,会通过for循环重新发送,默认3次重试发送
broker提供多master
broker宕机后,消费发送多次依旧失败,生产者会找到其他主master的broker进行重新发送消息
消息落盘阶段
同步刷盘机制
消息写入内存后立马进行刷盘,保证刷盘成功后返回成功结果给到生产者
提供主从模式,支持同步双写机制
一台主master可以设置一台或多台slave,当master和slave都刷盘成功后,才返回成功结果给到生产者
消费者消息消费阶段
提供at least once机制,先消费在响应消费成功ack
先进行消息消费,消费成功后再返回消费成功的ack标志,同时为了防止重复消费,可以根据某些唯一key,查询数据库或者缓存来解决消费重复的问题
消费重试机制
消费失败提供消费重试机制