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

最新文章

  1. CLR垃圾回收的设计
  2. XGBoost参数调优完全指南(附Python代码)
  3. JavaScript中的CSS属性对照表
  4. jquery堆栈与队列
  5. 苹果 Mac OS X Yosemite 10.10 新功能特性总结 - 扁平化、主打跨设备的无缝连通性
  6. syntax error near unexpected token `then'
  7. UVALive 5990 Array Diversit
  8. 为Mac自带的Apache配置PHP和虚拟机
  9. MySQL如何修改root密码
  10. OBS实现直播解决方案【html实现直播】
  11. AJAX的简洁写法
  12. 《Effective Objective-C 2.0》摘要
  13. Python内置函数(58)——input
  14. 分享一下在aspx页面弹框的设置代码
  15. day 21 - 2 练习
  16. mysql <=> null 问题
  17. C# Web开发中弹出对话框的函数[转载]
  18. SQL语法基础之CREATE语句
  19. php 公共方法Util
  20. ReactNative系列组件用法(一)

热门文章

  1. Java 根据模板导出PDF
  2. 记一次Mybatis-Plus动态分表DynamicTableNameInnerInterceptor里无法动态替换表名的坑
  3. ASR6601:国产化lora SOC芯片兼容SX1262/SX1268
  4. jwt二次加密失败原因(Bad “options.expiresIn“ option the payload already has an “exp“ property.)
  5. linux合并bilibili下载的blv视频
  6. ipmitool for windows下载网址
  7. 牛客java基础语法在线编程-知识点小结(待完善)
  8. OSPF配置知识总结3(多区域配置)
  9. shell mv cp image in parallel 多线程解压parallel
  10. flink 版本