
Kafka
Kafka系列博客
惑边
每一分努力都会在合适的时机得到回报...
展开
-
09-Kafka应用
文章目录Kafka应用一、命令行工具1.1 消费组管理1.2 消费偏移管理1.3 手动删除消息二、其他2.1 Kafka Connect2.1.1 Connector2.1.2 两种模式2.1.3 REST API2.2 Kafka Mirror Maker2.3 Kafka Stream三、小结四、参考Kafka应用关于Kafka的应用类工具Kafka系列文章是基于:深入理解Kafka...原创 2019-07-25 19:41:30 · 695 阅读 · 0 评论 -
08-Kafka可靠性
文章目录Kafka可靠性一、副本1.1 引入1.1.1 分类1.1.2 黄金定律1.1.3 概念1.2 副本失效1.2.1 副本失效1.2.2 同步失效(replica.lag.time.max.ms)1.3 ISR伸缩1.3.1 ISR缩减1.3.2 ISR扩展1.4 LEO与HW1.5 Leader与Epoch介入1.6 为什么不支持读写分离?二、日志同步三、可靠性分析3.1 副本3.2 ac...原创 2019-07-25 19:37:52 · 204 阅读 · 0 评论 -
06-Kafka服务端
文章目录Kafka服务端一、协议设计二、时间轮2.1 引入2.2 数据结构2.3 原理详解三、延时操作四、控制器4.1 控制器选举和异常恢复4.1.1 /controller4.1.2 /controller_epoch4.1.3 控制器职责4.2 关闭4.3 分区leader选举五、参数5.1 broker.id5.2 bootstrap.server六、参考Kafka服务端本文内容关于...原创 2019-07-25 19:34:11 · 847 阅读 · 0 评论 -
05-Kafka日志存储
文章目录Kafka日志存储一、文件目录1.1 文件目录布局1.2 文件名规范二、日志格式2.1 v0版本2.2 v1版本2.3 消息压缩2.3.1 压缩类型2.3.2 压缩原理2.4 变长字段2.5 v2版本三、日志索引3.1 索引方式3.2 文件切分3.3 索引分类3.3.1 偏移量索引3.3.2 时间戳索引四、日志清理4.1 日志删除4.1.1 机制4.1.2 保留策略4.1.2.1 基于时间...原创 2019-07-24 09:27:36 · 734 阅读 · 0 评论 -
04-Kafka主题和分区
文章目录Kafka主题和分区一、主题管理1.1 创建主题1.2 分区副本分配1.2.1 分区和角色1.2.2 分配逻辑1.3 查看主题1.4 修改主题1.5 配置管理1.6 主题参数1.7 删除主题二、KafkaAdminClient2.1 基本使用2.2 主题合法性验证三、分区管理3.1 优先副本选举3.1.1 优先副本3.1.2 auto.leader.rebalance.enable3.1....原创 2019-07-22 20:00:12 · 1998 阅读 · 0 评论 -
03-Kafka消费者
文章目录Kafka消费者一、消费者与消费者组二、客户端开发2.1 必要参数2.2 主题与分区2.2.1 订阅主题2.2.2 订阅分区2.2.3 获取分区信息2.2.4 取消订阅2.3 反序列化2.4 消费2.4.1 消费模式2.4.2 poll2.5 提交偏移量2.5.1 关于偏移量2.5.2 自动提交2.5.3 手动提交2.5.3.1 同步2.5.3.2 异步2.6 控制和关闭消费2.6.1 消...原创 2019-07-21 22:45:12 · 414 阅读 · 0 评论 -
02-Kafka生产者
文章目录Kafka生产者一、客户端开发1.1 代码1.2 参数配置1.3 发送消息1.3.1 消息结构1.3.2 发送方式1.4 序列化1.4.1 序列化器1.4.2 自定义序列化器1.5 分区器1.5.1 Partitioner1.5.2 DefaultPartitioner1.5.3 自定义分区器1.6 拦截器1.6.1 ProducerInterceptor1.6.2 ProducerInt...原创 2019-07-20 16:07:08 · 204 阅读 · 0 评论 -
01-Kafka初识
文章目录Kafka初识一、什么是Kafka二、架构2.1 架构角色2.2 架构图三、核心参数四、安装部署4.1 准备4.2 下载安装包4.3 修改配置4.4 启动、检验和关闭4.5 其他五、参考Kafka初识Kafka系列文章是基于:深入理解Kafka:核心设计与实践原理一书,结合自己的部分实践和总结。一、什么是Kafka消息系统Kafka提供传统消息中间件的系统解耦、冗余存储、削峰...原创 2019-07-19 20:09:23 · 194 阅读 · 0 评论 -
kafka中的担保语义(事务定义)和生产者消费者的对应模式
Kafka中数据传输的事务定义/消息传递保证/担保语义有哪三种?至少一次。 — 消息绝不会丢失,但有可能重新发送。最多一次。 — 消息可能丢失,但绝不会重发。正好一次。 — 这是人们真正想要的,每个消息传递一次且仅一次。一、可分解成两个问题:发送消息的保障和消费消息的保障。1.1 生产者:至少一次通过重试机制,没有收到消息提交的响应,重新发送消息对应着最少一次的语义。可能会重复...原创 2019-04-24 17:12:04 · 211 阅读 · 0 评论 -
零拷贝技术和kafka中的应用
Zero Copy一、Linux中传统服务器进行数据传输的流程传统的Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数...原创 2019-04-24 14:48:18 · 1220 阅读 · 0 评论 -
KafkaListener的各种操作
@KafkaListener的各种操作通过KafkaListener可以自定义批量消费和多线程消费,通过自定义创建消费容器的工厂类,来定义不同的消费容器,如下多线程和单线程消费@KafkaListener( id = "concurrencyConsumer", topics = "#{'${kafka.listener.multiple....原创 2019-04-17 22:07:52 · 15406 阅读 · 1 评论 -
kafka版本
关于kafka版本一、参考链接http://kafka.apache.org/downloads二、版本信息kafka大致有以下的大版本,从0.7.x->0.8.x->0.9.x->0.10.x->0.11.x->1.0.x->1.1.x->2.0.0->2.1.x->2.2.0,主要的版本和发布时间如下:版本发布时...原创 2019-04-16 11:10:44 · 1506 阅读 · 0 评论 -
带宽规划
带宽规划在表示带宽大小的时候通常表示为1Gb/s 和10 Gb/s 。我们可以称为千兆位网络和万兆位网络。1Gb/s表示每秒可以传输1G个字节,1G字节换算成我们存储的单位是128MB,在存储的时候我们表示的是字节,而传输的时候表示的是bit位,一个字节包含8个bit位。假设我们有一个实时处理系统没秒需要处理1TB的数据,每台设备的带宽是1Gb,我们需要多少台设备并行处理呢?假设每小时处...原创 2019-04-22 14:33:31 · 1202 阅读 · 0 评论