摘要: 消费者组(consumer group) 官方定义: 消费者使用一个消费者组(即group.id)来标记自己,topic的每条消息都只会被发送到每个订阅它的消费者组的一个消费者实例上。 基本概念 ~~~text 所有consumer实例都属于相同group 实现基于队列的模型。每条消息只会被一个co 阅读全文
posted @ 2020-05-20 16:58 snail灬 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 流程: ~~~text 1.product首先使用一个线程(用户主线程,也就是用户启动producer的线程)将待发送的消息封装进一个producerRecord类实例,然后将其系列化之后发给partitioner, 再由后者确定了目标分区后一同发送到位于product程序中的一块内存缓冲区中。而p 阅读全文
posted @ 2020-05-20 16:35 snail灬 阅读(366) 评论(0) 推荐(0) 编辑
摘要: kafka product新旧对比,新版本的优势 ~~~text 1.划分到两个不同的线程:用户主线程和Sender I/O线程,逻辑更容易把握。 2.完全是异步发送消息,并提供回调机制用于判断发送成功与否。 3.分批次,每批次中包含多个发送请求,提升整体吞吐量。 4.更加合理的分区策略:对于没有指 阅读全文
posted @ 2020-05-20 16:28 snail灬 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: 一.kafka吞吐量 kafka吞吐量大原因 ~~~text 1.kafka采用追加写入消息的方式,只能在日志文件末尾追加写入新的数据,不允许修改已写入的消息。 kafka采用零拷贝技术,确切的说是sendfile java的FileChannel.transferTo方法。 零拷贝:首先在内核驱动 阅读全文
posted @ 2020-05-20 16:10 snail灬 阅读(117) 评论(0) 推荐(0) 编辑