Kafka 流式数据平台
1 | # 0.10 之前 => MQ |
Kafka 的基本概念
1 | 下面从 3个角度分析 Kafka的几个基本概念: |
分区模型
1 | 集群 => 多节点(broker server) |
1 | # 传统 MQ 顺序消费 =====> 1consumer -> 1topic |
消费模型
消息由生产者发布到 Kafka 集群后,会被消费者消费,消费模型有两种:
1 | # push 推送模型 |
分布式模型
1 | # 鸡掰 => p 多副本(1主多从) |
1 | # 同组多消费者 => LB => 所有分区 |
Kafka 的设计与实现
1 | 下面我们会从 3个角度分析 Kafka的一些设计思路,井尝试回答下面 3个问题。 |
fs 持久化与传输
文件系统的持久化与数据传输效率
1 | # 磁盘访问优化 |
1 | # 生产 -> Server -> 消费(传输效率决定性能) |
生产者与消费者
1 | # producer 请求元数据 -> 消息 -> leader所在节点 |
1 | # 批量发送:达到时间发送 or 达到大小发送 |
1 | # 推 => 不同消费者速率不同 |
1 | # 推 => 状态维护麻烦(“已发送”、“已消费”) |
副本机制和容错处理
1 | # 1主*从 => 分区日志复制 |
1 | # 从 => 与主同步 |
快速开始
1 | tar xf kafka_2.13-3.2.1.tgz |
单机模式
1 | # 创建 topic test01(1副本1分区) |
1 | # 创建 topic test02(1副本3分区) |
分布式模式
1 | # 再启动 3台 kafka |
消费组示例
1 |
|
天博