摘要: kafka 提交位移 Kafka Consumer 提交位移的方式有两种:自动提交位移和手动提交位移(包括同步提交与异步提交)。 位移提交的语义保障是由你来负责的,Kafka 只会“无脑”地接受你提交的位移。你对位移提交的管理直接影响了你的 Consumer 所能提供的消息语义保障。 自动提交位移 阅读全文
posted @ 2022-08-12 13:25 sixinshuier 阅读(354) 评论(0) 推荐(0) 编辑
摘要: kafka 位移主题 __consumer_offsets 位移主题 诞生背景 老版本的Kafka会把位移信息保存在Zookeeper中,当Consumer重启后,自动从Zk中读取位移信息。这种设计使Kafka Broker不需要保存位移数据,可减少Broker端需要持有的状态空间,有利于实现高伸缩 阅读全文
posted @ 2022-08-12 13:23 sixinshuier 阅读(430) 评论(0) 推荐(0) 编辑
摘要: Kafka 消费者组 Consumer Group 是kafka 当中比较有亮点的设计了。 1. 消费者组的特点: 一个分区只可以被消费组中的一个消费者所消费。 一个消费组中的一个消费者可以消费多个分区,例如 C1 消费了 P0, P3。 一个消费组中的不同消费者消费的分区一定不会重复,例如: C1 阅读全文
posted @ 2022-08-12 13:21 sixinshuier 阅读(5848) 评论(0) 推荐(1) 编辑
摘要: Kafka基于TCP进行通信 Apache Kafka 的所有通信都是基于 TCP 的,无论是生产者、消费者,还是 Broker 之间的通信都是如此。 生产者端的TCP管理 何时建立TCP连接 在创建 KafkaProducer 实例时,生产者应用会在后台创建并启动一个名为 Sender 的线程,该 阅读全文
posted @ 2022-08-12 13:16 sixinshuier 阅读(644) 评论(0) 推荐(0) 编辑
摘要: Kafka消息交付可靠性保障 Kafka 消息交付可靠性保障以及精确处理一次语义的实现。 Kafka 对 Producer 和 Consumer 提供的消息交付可靠性保障: 最多一次(at most once):消息可能会丢失,但绝不会被重复发送。 至少一次(at least once):消息不会丢 阅读全文
posted @ 2022-08-12 13:16 sixinshuier 阅读(190) 评论(0) 推荐(0) 编辑
摘要: kafka 拦截器 拦截器:允许应用程序在不修改逻辑的情况下,动态地实现一组可插拔的事件处理逻辑链。它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。 Spring MVC 拦截器视图: kafka 拦截器: Kafka 拦截器分为生产者拦截器和消费者拦截器。 生产者拦截器:允许你在发送消 阅读全文
posted @ 2022-08-12 13:15 sixinshuier 阅读(263) 评论(0) 推荐(0) 编辑