Kafka合集(二):消息队列相关概念

消息队列MQ

MQ的传统应用场景

Kafka合集(二):消息队列相关概念

MQ作用

  • 解偶 – 不需要生产者消费者双方同时在线

    • 例如 : 提高系统可恢复性. 一个处理消息的进程挂了 队列中的消息仍然可在系统恢复后被处理
  • 削峰 – 缓冲 可控制和优化生产和消费两方处理数据速度不一致问题

    • 例如 : 解决生产大于消费服务当机问题. 可避免访问高峰期服务器挂掉 可缓冲至非高峰期再处理
  • 灵活性 – 动态增减服务器节点

    • 例如 : 削峰也顶不住的双11访问量剧增 就可动态增减服务器节点 从硬件层面解决

MQ两种模式

点对点模式

一对一 消费者主动拉取消息 收到后消息清除

Kafka合集(二):消息队列相关概念

发布/订阅模式

一对多 消费者消费数据 后指定时间内不会清除消息 分推送和主动拉取两种模式

推送模式 : 有消息才推 不维护长轮询 ; 如果生产消息速度快 消费速度慢 浪费资源 数据堆住了太多

拉取模式 : 我有多大能耐就要多少数据 没问题 ; 但 需要维护长轮询 没事就去问问有没有数据 长时间没消息时 还总问 浪费资源

Kafka合集(二):消息队列相关概念

kafka 是 主动拉取发布/订阅模式 的 MQ