随笔分类 -  Kafka

摘要:最多一次:消息最多被消费一次,可能丢失 最少一次:消息最少被消费一次,可能被重复消费多次 精确一次:消息会且只会被消费一次 Producer默认语义 默认情况下,Kafka会在producer的消息写入到分区leader副本的磁盘日志文件中后发送响应,若producer没接收到响应,它会尝试重新发送 阅读全文
posted @ 2022-10-31 18:00 yudoge 阅读(111) 评论(0) 推荐(0) 编辑
摘要:Controller? 就是平时说的集群leader,和分区leader不是一个概念,这是在集群中的所有broker中选出一个唯一的leader,它用来控制整个集群的各种事宜,所以叫Controller。 怎么控制 整个Kafka集群实际上是建立在Zookeeper上的,所以集群的控制实际上也就是各 阅读全文
posted @ 2022-10-31 14:46 yudoge 阅读(68) 评论(0) 推荐(0) 编辑
摘要:本地LEO和Remote LEO Kafka分区的follower副本的LEO属性保存了两份: 本地LEO:在follower副本所在broker的缓存中保存一份 Remote LEO:在leader副本所在的broker的缓存中保存一份(Remote LEO) 本地LEO很简单,就是followe 阅读全文
posted @ 2022-10-30 12:15 yudoge 阅读(486) 评论(0) 推荐(0) 编辑
摘要:poll IO模型与内部线程 Consumer消费多个来自多个Topic的多个分区的数据,在新版本中,它使用类似select、epoll这种IO模型来达到用一个线程管理多个来源的数据的功能。 不过,Consumer内部还是分为两个线程: Heartbeat线程:定时向broker发送heartbea 阅读全文
posted @ 2022-10-28 13:18 yudoge 阅读(247) 评论(0) 推荐(0) 编辑
摘要:Producer Producer做的工作 确认消息发送到的partition,相同key映射到相同分区,无key轮询 寻找分区的leader所在的Kafka broker,Producer可以选择不同的策略来发送消息 直接发送成功 leader响应写入操作后成功 ... Producer异常 Pr 阅读全文
posted @ 2022-10-26 07:17 yudoge 阅读(83) 评论(0) 推荐(0) 编辑
摘要:Producer新旧对比 新版本: 发送过程被分为两个线程,一条消息发送后经用户主线程进入内存缓冲区,Sender I/O线程将缓冲区中的数据分批发给Kafka broker 完全异步发送消息,通过Future或Callback来通知发送者 分批机制,提升整体吞吐量 轮询方式对无key消息分区,更加 阅读全文
posted @ 2022-10-24 17:58 yudoge 阅读(49) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩