Kafka基础概念

  1. 工作流程 blockers,每个节点都是一台机器
    topic 消息分类
    patation 分区,一个topic分成很多个分区,主要是因为做负载,提高吞吐量!
    leader,分区的领导,follow,分区的随从

为了提高消费能力,使用消费组

生产者往kafka发送数据的流程:
1. 先从集群中查询leader
2. 将数据发送给leader,leader进行数据罗盘
3. follow 从lead中进行拉取数据落盘
4. follow发送Ack给leader,leader收到ack后返回给生产者

kafka选择分区的模式

  1. 指定某个分区进行写入,
  2. 对key进行hash,选择分区
    3。 如果没有key的话,直接采用轮询的方式进行分区的选取

生产者往kafka发送数据的三种模式
0 直接发送
1 等待leader的ack
2 等待follow 回复leader,leader回复生产者ack

写入数据在同一分区是有序的,仅针对于同一分区,不同分区之间的数据是无序的
每条数据都会有个页码,也叫做偏移量
一条数据只能被一个消费组消费

你可能感兴趣的:(kafka,zookeeper,java)