kafka--基础知识点--1--消息队列模式

在这里插入图片描述
[1] 点对点消息传递模式消息从生产者传输到Queue使用的是推模型,发布订阅消息传递模式消息从生产者传输到Topic也使用推模型。通常所说的消息队列使用的是推模型还是拉模型,指的是消息从Queue/Topic传输到消费者使用的推模式还是拉模型。点对点消息传递模式消息从Queue传输消费者到使用的是推模型,而消息从Topic传输到消费者使用的是拉模型。

[2] push模型很难适应消费速率不同的消费者,如果push的速度太快,容易造成消费者拒绝服务或网络拥塞;如果push的速度太慢,容易造成消费者性能浪费。但是采用pull模型也有一个缺点,就是当Broker没有消息时,消费者会陷入不断地轮询中,为了避免这点,kafka有个参数可以让消费者阻塞知道是否有新消息到达(即长轮询的方式)。

[3] 长轮询

  • Kafka 在拉请求中有参数,可以使得消费者请求在 “长轮询” 中阻塞等待。
  • 简单的说就是消费者去 Broker 拉消息,定义了一个超时时间,也就是说消费者去请求消息,如果有的话马上返回消息,如果没有的话消费者等着直到超时,然后再次发起拉消息请求。
  • 并且 Broker 也得配合,如果消费者请求过来,有消息肯定马上返回,没有消息那就建立一个延迟操作,等条件满足了再返回。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值