08 2022 档案

摘要:kafka 提交位移 Kafka Consumer 提交位移的方式有两种:自动提交位移和手动提交位移(包括同步提交与异步提交)。 位移提交的语义保障是由你来负责的,Kafka 只会“无脑”地接受你提交的位移。你对位移提交的管理直接影响了你的 Consumer 所能提供的消息语义保障。 自动提交位移 阅读全文
posted @ 2022-08-12 13:25 sixinshuier 阅读(627) 评论(0) 推荐(0) 编辑
摘要:kafka 位移主题 __consumer_offsets 位移主题 诞生背景 老版本的Kafka会把位移信息保存在Zookeeper中,当Consumer重启后,自动从Zk中读取位移信息。这种设计使Kafka Broker不需要保存位移数据,可减少Broker端需要持有的状态空间,有利于实现高伸缩 阅读全文
posted @ 2022-08-12 13:23 sixinshuier 阅读(510) 评论(0) 推荐(0) 编辑
摘要:Kafka 消费者组 Consumer Group 是kafka 当中比较有亮点的设计了。 1. 消费者组的特点: 一个分区只可以被消费组中的一个消费者所消费。 一个消费组中的一个消费者可以消费多个分区,例如 C1 消费了 P0, P3。 一个消费组中的不同消费者消费的分区一定不会重复,例如: C1 阅读全文
posted @ 2022-08-12 13:21 sixinshuier 阅读(6339) 评论(0) 推荐(1) 编辑
摘要:Kafka基于TCP进行通信 Apache Kafka 的所有通信都是基于 TCP 的,无论是生产者、消费者,还是 Broker 之间的通信都是如此。 生产者端的TCP管理 何时建立TCP连接 在创建 KafkaProducer 实例时,生产者应用会在后台创建并启动一个名为 Sender 的线程,该 阅读全文
posted @ 2022-08-12 13:16 sixinshuier 阅读(693) 评论(0) 推荐(0) 编辑
摘要:Kafka消息交付可靠性保障 Kafka 消息交付可靠性保障以及精确处理一次语义的实现。 Kafka 对 Producer 和 Consumer 提供的消息交付可靠性保障: 最多一次(at most once):消息可能会丢失,但绝不会被重复发送。 至少一次(at least once):消息不会丢 阅读全文
posted @ 2022-08-12 13:16 sixinshuier 阅读(213) 评论(0) 推荐(0) 编辑
摘要:kafka 拦截器 拦截器:允许应用程序在不修改逻辑的情况下,动态地实现一组可插拔的事件处理逻辑链。它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。 Spring MVC 拦截器视图: kafka 拦截器: Kafka 拦截器分为生产者拦截器和消费者拦截器。 生产者拦截器:允许你在发送消 阅读全文
posted @ 2022-08-12 13:15 sixinshuier 阅读(274) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-08-11 12:57 sixinshuier 阅读(0) 评论(0) 推荐(0) 编辑
摘要:kafka 生产者压缩 在kafka 中,压缩可能发生在两个地方:生产正端和消费者端。 ==一般遵循Producer 端压缩、Broker 端保持、Consumer 端解压缩。== 生产者端-压缩 生产者程序中配置 compression.type 参数即表示启用指定类型的压缩算法 Properti 阅读全文
posted @ 2022-08-11 12:53 sixinshuier 阅读(855) 评论(0) 推荐(0) 编辑
摘要:生产者发送消息的分区策略 分区是实现负载均衡以及高吞吐量的关键。 Kafka为了增加系统的伸缩性(Scalability),引入了分区(Partitioning)的概念。 Kafka 中的分区机制指的是将每个主题划分成多个分区(Partition),每个分区是一组有序的消息日志。主题下的每条消息只会 阅读全文
posted @ 2022-08-11 12:50 sixinshuier 阅读(813) 评论(0) 推荐(0) 编辑
摘要:消费者 消费者和消费者组 Kafka消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。 消费者组1和消费者组2可以同时消费所有消息,互不影响。 再平衡: 分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为再均衡。 消费者通过向被指派为群组协调 阅读全文
posted @ 2022-08-11 12:47 sixinshuier 阅读(117) 评论(0) 推荐(0) 编辑
摘要:保证数据的可靠性、数据的传递语义、幂等性、事务 生产者-数据的可靠性 ACKS 0: 生产者发送过来的数据,不需要等数据落盘应答。 1: 生产者发送过来的数据,Leader收到数据后应答。 ==应答完成后,还没开始同 步副本,Leader挂了,新的Leader不会 收到Hello的信息, 因为生产者 阅读全文
posted @ 2022-08-10 13:45 sixinshuier 阅读(100) 评论(0) 推荐(0) 编辑
摘要:kafka 生产者 整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和Sender线程(发送线程)。 主线程中由KafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用之后缓存到消息累加器(RecordAccumulator,也称为消息收集器)中。 Sender 线 阅读全文
posted @ 2022-08-10 13:42 sixinshuier 阅读(74) 评论(0) 推荐(0) 编辑
摘要:为什么使用kafka 多个生产者 Kafka可以无缝地支持多个生产者,不管客户端在使用单个主题还是多个主题。所以它很适合用来从多个前端系统收集数据,并以统一的格式对外提供数据。 多个消费者 支持多个生产者外,Kafka也支持多个消费者从一个单独的消息流上读取数据,而且消费者之间互不影响。 基于磁盘的 阅读全文
posted @ 2022-08-10 13:40 sixinshuier 阅读(438) 评论(0) 推荐(0) 编辑
摘要:kafka 重要参数 Broker 端参数 broker.id 每个broker都需要有一个标识符,使用broker.id来表示。它的默认值是0,也可以被设置成其他任意整数。这个值在整个Kafka集群里必须是唯一的。 Port: 如果使用配置样本来启动Kafka,它会监听9092端口。修改port配 阅读全文
posted @ 2022-08-10 13:39 sixinshuier 阅读(449) 评论(0) 推荐(0) 编辑
摘要:kafka 基本概念 消息:Record。Kafka 是消息引擎嘛,这里的消息就是指 Kafka 处理的主要对象。 主题:Topic。主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务。 分区:Partition。一个有序不变的消息序列。每个主题下可以有多个分区。 消息位移:Offset。表 阅读全文
posted @ 2022-08-10 13:38 sixinshuier 阅读(74) 评论(0) 推荐(0) 编辑
摘要:常用命令 创建Topic: ./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic shixTopic --partitions 2 --replication-factor 1 查看Topic: ./kafka-to 阅读全文
posted @ 2022-08-10 13:36 sixinshuier 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Mac 安装kafka 百度云盘:链接: https://pan.baidu.com/s/1mS6MVBehe2Kko70Zdln-hA?pwd=62wr 提取码: 62wr kafka的官网地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/3 阅读全文
posted @ 2022-08-10 13:33 sixinshuier 阅读(231) 评论(0) 推荐(0) 编辑
摘要:docker-compose 安装kafka docker-compose.yml如下: version: '2' services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper volumes: - ./zo 阅读全文
posted @ 2022-08-10 13:29 sixinshuier 阅读(868) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示