Kafka介绍安装
Kafka
分布式消息队列
- 多副本
- 容错:in-sync replicas
- I S R =zoo keeper=> Leader 副本丢失,从 I S R中选择新的 Leader
- I S R 宕机 => 从剩余的 follower 中选择替代
- 读写分离
- Leader 负责写操作
- I S R 中任何一个 replica 都可以读、
- 多分区:M P => multiple partitions
- 低延时
- 主题分区数量最优设计:节点数 * 物理核数
- 零拷贝
- 产销解耦
- 生产者 —> Kafka <— 消费者
- 生产者数量:分区数个生产者轮询写入,均匀分布
- 消费者数量:分区数个消费者一对一读取,并行消费
- 消费模式
- 指定位置 –from-beginning
- 分组消费 –group-id
- 在服务端存储分组名,主题和偏移量的映射数据
- 客户端记录消费位置
- r e d i s
- m y s q l
Install
single
1 |
|
cluster
1 |
|
commands
1 |
|
j a v a 处理
依赖
1
2
3
4
5
6
<!-- 2.8.0 -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>生产者配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bootstrap.servers=single01:9092
batch.size=16384
linger.ms=3000
acks=1
retries=3
retry.backoff.ms=100
key.serializer=org.apache.kafka.common.serialization.IntegerSerializer
value.serializer=org.apache.kafka.common.serialization.StringSerializer
fake.user.id=10000
fake.cmm.id=100000
fake.shop.id=1000
fake.action.types=click,hover,roll
fake.event.types=KeyWordSearch,ClassifiedSearch,AddToCart,RemoveFromCart,Collect,DirectPay,CartPay
fake.kafka.topic=kb16_press_t1消费者配置
1
2
3
4
5
6
7
bootstrap.servers=single:9092
key.deserializer=classOf[StringDeserializer]
value.deserializer=classOf[StringDeserializer]
group.id=test_01
auto.offset.reset=latest
enable.auto.commit=true
auto.commit.interval.ms=200
1
2
Kafka介绍安装
https://leaf-domain.gitee.io/2024/08/01/bigdata/kafka/kafka_install/