Kafka 术语

什么是Kafka?算法

  Apache Kafka是一个分布式流媒体平台,容许你发布和订阅记录流,容许你以容错方式存储记录流,容许你处理数据流。或是说Kafka是一个分布式、支持分区、多副本的,基于zookeeper协调的分布式消息系统。那本身眼中的kafka是什么?服务器

 

Kafka的术语分布式

  Topic(主题):特指Kafka要处理的记录源的分类,每一类记录称为一个topic,每个记录由一个key、value和timestamp组成。队列

  Broker:Kafka集群中的一台或多台服务器(即kafka节点)。kafka

  Producer(生产者):向kafka的一个Topic发送记录的过程。producers往某个topic上发布记录时将负责选择发布到topic的哪个partition上,最简单的方式是从分区列表中轮流选择,也能够根据某种算法依照权重选择分区。it

  Consumer(消费者):订阅Topic并处理该Topic发布的记录的过程。io

  Partition(分区):topic物理上的分组,每一个Topic包含一个或多个Partition,每一个Partition是一个有序的队列。集群

  Consumer Group(消费组):一个Consumer Group可包含多个consumer,每一个consumer用Consumer Group名称来标注本身。同一个Topic的数据会经过广播传递给不一样Consumer Group,若同一个Topic的同一条记录只能被同一个GroupID的一个consumer消费,则实现点对点模式。若同一个Topic的同一条记录被不一样GroupID中的consumer同时消费到,则实现了发布订阅模式,可是Partition中每一个记录只能被Group中一个consumer消费,不能被多个consumer消费(Kafka实现了消息广播和单播;若需实现广播,只要每一个consumer有一个独立的Group便可,若需实现单播,只要全部的consumer在同一个Group中便可)zookeeper

相关文章
相关标签/搜索