当SDK有message没有ACK时,服务端会将buffer里的所有消息推送完成,当推送完后,SDK不能再接收到消息。此时,服务端保存的消费位点为未ACK之前的最后一条message的位点。当SDK重启时,为了保证消息不丢,服务端会从未ACK前一条message对应的位点开始重新推送数据,所以SDK此时会重复收取一部分消息。