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、分区的说有数据保存

Kafka相关问题的更多相关文章

  1. 简单封装kafka相关的api

    一.针对于kafka版本 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>ka ...

  2. kafka相关文章引用

    kafka相关内容说明: Kafka压缩 Kafka端到端审计 kafka数据可靠性深度解读 Kafka发送超过broker限定大小的消息时Client和Broker端各自会有什么异常? Kafka之 ...

  3. kafka相关问题总结

    一直在使用kafka,遇到过很多问题,总结一下 很多人对比kafka和AMQP的时候,都会强调kafka会丢数据,感觉好像只要用kafka就会丢数据一样,从而排斥使用kafka,亦或者在使用的过程中, ...

  4. Kafka相关面试题及答案

    Kafka相关面试题及答案 1. Kafka中的ISR.AR又代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副本 2. Kafka中的HW.LEO等分别代表什么? ...

  5. kafka相关应用

    一.kafka官网地址 http://kafka.apache.org 下载地址: http://kafka.apache.org/downloads.html 二.版本 0.9.0.1 is the ...

  6. Kafka相关内容总结(存储和性能)

    Kafka消息的存储 Kafka的设计基于一种非常简单的指导思想:不是要在内存中保存尽可能多的数据,在需要时将这些数据刷新(flush)到文件系统,而是要做完全相反的事情.所有数据都要立即写入文件系统 ...

  7. Kafka相关内容总结(概念和原理)

    说明 主要内容是在网上的一些文章中整理出来: 加粗的字体是比较重要的内容,部分是自己的经验和理解: 整理的目的主要是为了方便查阅: 为什么需要消息系统 解耦: 在项目启动之初来预测将来项目会碰到什么需 ...

  8. kafka相关资料

    先来说一下Kafka与RabbitMQ的对比: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. kafka是Linkedin于20 ...

  9. kafka相关业务必会操作命令整理

    参考:https://kafka.apache.org 服务相关命令 1.启动/停止zk > bin/zookeeper-server-start.sh config/zookeeper.pro ...

  10. kafka 相关命令 偏移重置

    kafka官方文档 https://kafka.apache.org/documentation.html#quickstart kafka 安装文档 https://www.jianshu.com/ ...

随机推荐

  1. go 的 wire 依赖注入

    首先安装 wire 工具 go install github.com/google/wire/cmd/wire@latest go 文件 package main import ( "fmt ...

  2. IaaS--云虚拟机(一)(何恺铎《深入浅出云计算》笔记整理)

    [概念讲解] 云虚拟机的体系结构,就是全面解耦的计算存储分离的设计思想. 传统的虚拟化,往往是对单一物理机器资源的纵向切割,计算.存储.网络等各方面的能力都是一台物理机的子集.因此,从可伸缩性的角度来 ...

  3. dart的基本使用

    1.windows上环境搭建 (1)  在dart官网上下载对应的sdk安装即可.归档 | Dart (2)  使用vscode开发,安装dart插件和Code Runner插件即可.  2.Dart ...

  4. 国产DP4398 兼容替代CS4398 24Bit 192KHz数模转换芯片

    CS4398是一款24Bit/192K Hz规格的解码芯片,它具有120分贝以上的讯噪比和动态范围,采用一个高级专用多位Delta-Sigma调制器,并整合了失配噪声整形技术.今天来讲讲它的国产替代型 ...

  5. ubuntu 删除容器内没用的包

    删除多余 apt 包 这些就是依赖的所有动态链接库,接着我们将这些包用 apt-mark 声明为"手工安装的包",即可阻止 apt purge 的自动卸载. 然后,我们再自动卸载其 ...

  6. 标量子查询加聚合函数sql改写一

    标量子查询的语句: select /*+ GATHER_PLAN_STATISTICS dwtest */ empno, (select count(*) from DEPT1 b where b.i ...

  7. 关于iptables的一些知识

    关闭firewalld, 启用iptables:systemctl stop firewalld  && systemctl disable firewalld  # 关闭firewa ...

  8. banner的使用

    Android中banner的使用步骤 Step 1.依赖banner Gradle dependencies{ compile 'com.youth.banner:banner:1.4.9' //最 ...

  9. TCP协议之三次握手(二)

    本节主要研究三次握手出现的一些异常情况和编程相关的知识: 上一节分析了三次握手的过程,本节会回答一些三次握手的小问题,然后利用linux系统调用实践一下简单的网络的编程. 三次握手的常见问题 Q 向一 ...

  10. windows 批量杀进程

    1 import psutil 2 from subprocess import Popen, PIPE 3 4 process_name ="bsmr.exe,fxclient.exe,F ...