关于kafka:kafka

11次阅读

共计 1326 个字符,预计需要花费 4 分钟才能阅读完成。

kafka 集群的组成?
1)producer:音讯生产者,向 kafka 的 broker 发送音讯的客户端。
2)consumer::音讯消费者,向 kafka broker 拉取音讯的客户端;
3)consumer group:消费者组,由多个 consumer 组成。消费者组内每个消费者负责生产不同分区的数据,一个分区只能由一个组内消费者生产;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
4)broker:一台 kafka 服务器就是一个 broker,一个集群在有多个 broker。一个 broker 内可寄存多个 topic。
5)topic:能够了解为一个队列,生产者和消费者面向的都是一个 topic。
6)partition:一个十分大的 topic 能够散布到多个 broker 上,一个 topic 分为多个 partition,每个 partition 是一个有序的队列。
7)Replica:正本,为保障集群中的某个节点产生故障时,该节点上的 partition 数据不失落,使得 kafka 依然可能持续工作,kafka 提供了正本机制,一个 topic 的每个分区都有若干个正本,一个 leader 和若干个 follower。
8)leader:每个分区多个正本的主节点,负责数据的读写,即生产者发送数据的对象,以及消费者生产数据的对象都是 leader。
9)follower:每个分区多个正本中的从节点,实时从 leader 中同步数据,放弃和 leader 数据
同步。leader 产生故障时,某个 follower 会成为新的 leader。

kafka 高可用性:
分布式存储:每个 partition 能够存在于不同的 broker 上,每个 partition 就放一部分数据。每个 partition 的数据都会同步到其它机器上,造成本人的多个 replica 正本。即每个 broker 寄存的是不同 topic 的 partition。
所有 replica 会选举一个 leader 进去,那么生产和生产都跟这个 leader 打交道,而后其余 replica 就是 follower。写的时候,leader 会负责把数据同步到所有 follower 下来,读的时候就间接读 leader 上的数据即可。
如果某个 broker 宕机了,那个 broker 下面的 partition 在其余机器上都有正本的。如果这个宕机的 broker 下面有某个 partition 的 leader,那么此时会从 follower 中从新选举一个新的 leader 进去,大家持续读写那个新的 leader 即可。

kafka 的 ack 的三种机制?
acks 参数,是管制发送进来的音讯的长久化机制的
1、acks=0 at-most-once
producer 基本不论写入 broker 的音讯到底胜利没有,发送一条音讯进来,立马就能够发送下一条音讯,这是吞吐量最高的形式,可能音讯失落
2、acks=all/acks=-1 at-least-once
这个 leader 写入胜利当前,必须期待其余 ISR 中的正本都写入胜利,才能够返回响应说这条音讯写入胜利了,此时你会收到一个回调告诉
3、acks=1 at-exactly-once
只有 leader 写入胜利,就认为音讯胜利了。
为何 Kafka 这么 ” 快 ”

正文完
 0