消息队列

1 . 为什么要用消息队列?
2 . 对比一下常见的消息队列?
3 . 如何保证消息不被重复消费?
4 . 如何保证消息消费的顺序性?
消息丢失怎么解决?