首页 > 其他分享 >kafka是pull还是push及优劣分析?

kafka是pull还是push及优劣分析?

时间:2023-03-19 09:14:34浏览次数:29  
标签:pull broker kafka 速率 消息 push 推送 consumer

 

Kafka最初考虑的问题是,customer应该从brokes拉取消息还是brokers将消息推送到consumer,也就是pull还push。

Kafka遵循了一种大部分消息系统共同的传统的设计:producer将消息推送到broker,consumer从broker拉取消息。

一些消息系统比如Scribe和Apache Flume采用了push模式,将消息推送到下游的consumer。

这样做有好处也有坏处:由broker决定消息推送的速率,对于不同消费速率的consumer就不太好处理了。

消息系统都致力于让consumer以最大的速率最快速的消费消息,但不幸的是,push模式下,当broker推送的速率远大于consumer消费的速率时,consumer恐怕就要崩溃了。

最终Kafka还是选取了传统的pull模式。

Pull模式的另外一个好处是consumer可以自主决定是否批量的从broker拉取数据。

Push模式必须在不知道下游consumer消费能力和消费策略的情况下决定是立即推送每条消息还是缓存之后批量推送。

如果为了避免consumer崩溃而采用较低的推送速率,将可能导致一次只推送较少的消息而造成浪费。

Pull模式下,consumer就可以根据自己的消费能力去决定这些策略。

Pull有个缺点是,如果broker没有可供消费的消息,将导致consumer不断在循环中轮询,直到新消息到达。

  

标签:pull,broker,kafka,速率,消息,push,推送,consumer
From: https://www.cnblogs.com/89564f/p/17232434.html

相关文章

  • Kafka
    kafka知识记录基本概念Broker消息代理Topic主题Partition分区有序的、不可变的提交日志Offset偏移量Replication每个分区都有......
  • mac m1 docker 安装kafka和zookeeper
    获取本地ip地址  ifconfigen0  192.168.31.35.  这边的ip地址在下面的ip会使用到拉取镜像dockerpullwurstmeister/zookeeperdockerpullwurstmeister/kafka......
  • kafka - Linux环境
    kafka-Linux环境前提:linux环境下安装的有jdkzookeeper安装配置-(linux环境搭建)zookeeper(默认端口2181)1.下载2.解压ta......
  • Windows下用docker搭建本地kafka
    1.docker创建zookeeper拉取zookeeper镜像dockerpullwurstmeister/zookeeper运行dockerrun--name=zookeeper-d-eZOOKEEPER_CLIENT_PORT=2181-p2181:2181-p2888......
  • 为什么Kafka的性能那么好?
    ApacheKafka是一个高性能的消息队列,在众多的消息队列产品中,Kafka的性能是处于第一梯队的。Kafka的高性能主要取决于以下几方面:使用批量处理的方式来提升系统吞吐能力......
  • kafka重置消费位点
    kafka重置消费位点一般分几种情况重置到最新的消费位点重置到最早的消费位点根据时间戳重置消费位点跟据指定偏移量重置消费位点基于kafka2.0.0packagecom.real......
  • Centos7的kafka集群搭建
    CentOS7搭建kafka集群原创 莫问 记录栈 2022-11-1619:49 发表于陕西收录于合集#centos6个#kafka1个#linux9个#kafka集群1个/***@系统:CentOSLinux......
  • Nebius Welcome Round (Div. 1 + Div. 2) C. Pull Your Luck
    linkCode//#include<bits/stdc++.h>#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<queue>#include<cmath>#include......
  • kafka消费者不能消费信息
     1、在kafka查看主题__consumer_offsets的情况 $kafka_home/bin/kafka-topics.sh--describe--zookeeperhostname:2181 --topic__consumer_offsets 显示图片的......
  • nginx+lua+openresty+kafka相关问题汇总
    这里使用的是kafka插件是doujiang大佬的https://github.com/doujiang24/lua-resty-kafka,版本为v0.2.0。应用场景在nginx转发中,记录非200请求的信息,遂打算在log_by_lua*中......