Kafka

1、为什么用消息队列?

  场景:

    请求数据过来,录入数据库,调用发送接口,响应页面

  • 同步处理
  •  异步处理:

  •  把发送短信的请求放入消息队列,好处是

    • 解耦,不需要两个同时在线。

    • 可恢复性    系统一部分组件失效不会影响到整个系统。
    • 缓冲   有助于控制和优化数据流经过系统的速度,解决了生产消息和消费消息的处理速度不一致的情况(生产大于消费)。
    • 灵活性 & 峰值处理能力    雪崩

2、消费队列的两种模式

  • 点对点模式(一对一,消费者主动拉取数据,消息收到后消息消除)
    • 消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并消费消息。
    • 消息被消费以后,queue中不再存储,所以消息消费者不可能消费到已经被消费的消息。
    • Queue支持存在多个消费者,但是对一个消费者只会有一个消息存在。
  • 发布/订阅模式(一对多,消费者消费数据之后不会清除消息)
    • 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。
    • 和点对点方式不同,发布到topic的消息会被所有订阅者消费
原文地址:https://www.cnblogs.com/su-ke/p/13475452.html