1 如何解决保证消息幂等性?
    这个问题其实就是说防止消费者重复消费的问题,假设因为网络问题,消费者消费成功但是没有返回ack,那么mq可能会认为没有消费,那么则会再次发送消息,导致消费者重复消费
    解决办法:给消息加上一个业务id,在消费者方进行判断
    2 如何保证消息不丢失?
    首先是生产者端,可以采用发送同步消息,结果是同步感知的
    其次是Broker端,broker端要把mq中的消息从内存同步到硬盘需要进行刷盘,那么mq默认是异步刷盘,如果要保证消息不丢失可以改成同步刷盘,同步刷盘和异步刷盘的区别在于,同步刷盘安全性更高,但是效率更低,异步刷盘则是效率高,但是有可能丢失消息
    然后是消费者端 完全消费正常后在进行手动ack确认。
    3 如何保证消息顺序
    在mq中一个topic包含多个队列,如果生产者把消息发送给不同队列,那么则无法保证消费者去按顺序消费
    所以说生产者要发给同一个队列,而消费者则需要一次性消费整个队列中的消息