首页 > 其他分享 >Kafka相关问题

Kafka相关问题

时间:2022-08-27 21:55:52浏览次数:66  
标签:group 消费者 Kafka 问题 提交 相关 consumer 位移

Kafka有哪几个部分组成

生产者、消费者、topic、group、partition

kafka的group
1)定义:即消费者组是 Kafka 提供的可扩展且具有容错性的消费者机制。
在Kafka中,消费者组是一个由多个消费者实例构成的组。同一个组下的每个实例都配置有相同的组ID,被分配不同的订阅分区。
当某个实例挂掉的时候,其他实例会自动地承担起它负责消费的分区。

kafka如何保证数据不丢失

1)producer端如何保证数据不丢失acks = 0 ,它只是把消息发送到缓存中,而缓存什么时候被提交到broker端并不关心。可以用这种配置来收集日志
acks = 1(默认值) 生产者发送消息之后,只要分区的leader副本成功写入消息,那么它就会收到来自服务端的成功响应。不成功会重新发送,
但如果learder崩溃则数据丢失
acks = all或-1,生产者在发送消息之后,需要leader向fllow同步完数据之后,才返回ack成功。
如果不成功并将消息缓存起来,等异常恢复后再次发送
2)consumer端如何保证数据不丢失
设置从哪个位置开始消费:auto.offset.reset = earliest(最早) /latest(最晚)
设置一定时间内是否自动提交:enable.auto.commit = true/false(默认true)

Kafka如何解决重复消费问题

 

 

kafka如何提高吞吐量

生产者端

消费者端

1增加分区和消费者数量

2 如问题4

Kafka的Leader选举机制

https://b23.tv/0N8dfn5 看前3分半就可以

 

Kafka高吞吐低延时的原因

1)使用操作系统页缓存,内存速度快命中概率高
2)Kafka不直接参与IO操作,而是交给操作系统
3)采用追加写入的方式,摒弃了缓慢的磁盘随机读写操作
4)使用sendfile零拷贝技术加强网络间的数据传输

consumer group的位移提交机制

->https://blog.csdn.net/qq_41049126/article/details/1113118161)

老版本0.9之前,消费者的位移信息时是通过zookeeper来保存的,当消费者重启时,会自动从zookeeper中获取位移数据,从上次消费的地方继续消费。2)新版本中将位移数据向正常消息一样提交到_comsumer_offsets,用于保存位移信息。
Kafka集群中的第一个Consumer程序启动时,Kafka会自动创建位移主题
位移提交方式:自动提交位移和手动提交位移 enable.auto.commit
Kafka的删除位移主题策略:压缩,即保存同一key的最后一条log

Kafka中consumer group的Rebalance何时触发

->https://blog.csdn.net/yxhzj/article/details/82525906 4 Rebalance
1)consumer group有成员变更时,2)订阅主题发生变更时,3)订阅主题分区发生变更时
reblance的分配方法:1)range 2)round-robin
consumer group内管理是通过coordinator(协调者)进行。

7.消费者组与Broker之间的交互
consumer采用pull(拉)模式从broker中读取数据。

在Kafka中,ZooKeeper的作用是什么?

1)负责成员管理:broker节点的注册、注销
2)Controller选举
3)存放集群元数据:存放Topic、分区的说有数据保存

标签:group,消费者,Kafka,问题,提交,相关,consumer,位移
From: https://www.cnblogs.com/xin-xing/p/16598202.html

相关文章

  • 英文环境下,外部文件诡异的路径问题
    做海外版软件的的时候,遇到了一个诡异的问题,外部文件双击打开的时候跳转到软件通过StartupArgs拿到的路径很诡异,本来是“C:\Users\t25220\Documents\WhiteboardFile\90.mgb......
  • js中alert的换行问题
    关于alert的内容还行问题,参考了很多人的意见,在这里我做一个总结,当然我们平时只要使用一种能达到效果的方法即可:这个与使用的浏览器也有关系在使用alert弹窗过程中,对于大......
  • js 函数的参数长度问题
    js函数的参数长度问题_Jamie_java的博客-CSDN博客_js传参数有长度限制 https://blog.csdn.net/baidu_27062827/article/details/52276635js函数,如果传入参数的长度太长......
  • Kafka的简单使用
    下面目的主要是进行简单测试kafka,比如在其他网络中已提供了IP和地址,进行kafka的读取,自已不想再写代码:环境要求:存在java环境:1、下载Kafka的程序https://kafka.apache.or......
  • pycharm问题汇总
    Pycharm项目左侧目录文件背景变黄且部分文件不显示的问题刚打开python项目,左侧目录文件显示浅黄色背景解决办法:打开pycharm,file->Settings->Project->Projectstructu......
  • Ubuntu 和 mingw 关于mkdir 不兼容的问题
    参考:https://github.com/kyz/libmspack/issues/1添加如下代码:#ifdefined(__WIN32__)||defined(__MINGW32__)#definemkdir(a,b)mkdir(a)/*mkdircommandonWin......
  • [Golang] cgo 调用 .so 捕获异常问题
    最近需要在go中去调用.so库去完成一些事情,go方面,利用cgo可以顺利的调用.so中的方法,但是有个问题是go没法捕获.so那边出现的异常。如果.so那边异常了,那么会......
  • 解决微信浏览器video视频自动播放的问题
    <videocontrols="controls"src=""id="video"x5-video-player-type="h5"preload="metadata"playsinline="true"webkit-playsinline="true"x-webkit-airplay="......
  • 前端面试题之CSS布局问题
    垂直居中DIVHTML部分<divclass="father"><divclass="son">我是垂直居中的div</div></div>这里简单给出几种1.绝对定位(盒子宽高已知).father{......
  • day 24 Object的相关内容及深拷贝和浅拷贝
    Object的相关内容及深拷贝和浅拷贝概述:Object是顶层的构造,万物皆对象,所有的对象都是Object的子类。Object的方法所有的对象都能共享。 Object实例方法(原型方法)使用实......