Producer:
生产者:生产数据,就是我们客户端代码,写数据的
Consumer:
消费者:负责处理kafka服务里面消息
Consumer Group/Consumers:
消费者组:就是kafka独特处理轮询还是广播。
轮询:消费者每一个处理一条,轮排
广播:一条信息,多个消费者同时处理,比如,日志,写了文本日志,还写数据库日志
Broker:就是kafka服务,一个Broker可以创建多个topic
Topic:就是一个写入broker主题,一个kafka集群里面可以有多个Topic,为了区分业务和模块使用
Partition:就是把一个topic的信息分成几个区,利用多个节点,把多个分区,放在不同节点上面,实现负载均衡,kafka内部实现的。。
Replica:副本,就是防止主节点宕机,然后数据丢失了,保证高可用。。
Offset:偏移量,就是消息的主键,生产者负责写数据的时候,写进去然后偏移量,消费者消费数据,知道数据消费到什么地方,不要重复消费。
Retries参数的值决定了生产者可以重发消息的次数,如果达到这个次数,生产者会放弃重试并返回错误。默认情况下,生产者会在每次重试之间等待100ms ,可以通过retry.backoff.ms 参数来配置时间间隔。
producer有三种ack机制 初始化producer时在config中进行配置
0 意味着producer不等待broker同步完成的确认,继续发送下一条。
1(默认) 生产者将数据发送出去之后,要等待leader返回成功接收的消息才算发送成功,如果leader宕机则会丢失数据。
-1 生产者需要等待leader和ISR中的所有follower都返回成功接收的消息才算发送成功
acks =0或者acks =1,最多发送一次
acks = -1并且retries >0 至少一次
本文深入解析了Kafka的核心组件,包括生产者如何写入数据,消费者如何处理消息,以及Consumer Group、分区、副本和偏移量的作用。重点介绍了轮询和广播模式,并强调了负载均衡和高可用性的实现原理。
361

被折叠的 条评论
为什么被折叠?



