马老师编译原理
1)、2)、3)、4)这四种情况都属于硬件资源可立即恢复情况,RocketMQ 在这四种情况下能保证消息不丢,或者丢失少量数据(依赖刷盘方式是同步还是异步)
5)、6)属于点点故障,且无法恢复,一旦发生,在此单节点上的消息全部丢失。
RocketMQ 在这两种情况下,通过异步复制,可保证99%的消息不丢失,但是任然会有极少量的消息可能丢失。
通过同步双写技术可以完全避免单点,同步双写势必会影响性能,适合对消息可靠性要求极高的场合,例如与Money相关的应用。
注:RocketMQ从3.0版本开始支持同步双写。
至少一次
至少一次(At least Once)指每个消息必须投递一次。Consumer 先 Pull 消息到本地,消费完成后,才向服务器返回