消息队列(mq)是什么?

什么是消息队列?

消息队列,简称MQ(Message Queue),把要传输的数据放在队列中,先进先出。

为什么要用消息队列?

  • 解耦
  • 异步
  • 削峰/限流

使用消息队列有什么问题?

  • 满足高可用,必须集群/分布式
  • 数据丢失问题,持久化
  • 消费者怎么得到消息队列的数据?
    • 生产者将数据放到消息队列中,消息队列有数据了,主动叫消费者去拿(俗称push)
    • 消费者不断去轮训消息队列,看看有没有新的数据,如果有就消费(俗称pull)
  • 消息重复消费?
  • 如何保证消息是绝对有顺序?


消息队列选型