分布式队列的几个名词和解释--以Kafka为例
Topic 或者Subject
每一个生产者都需要向队列中生产消息,不同的生产者生产消息需要有所区别,供对应的消费者消费消息,这个是队列名称之为 Topic或者Subject
MessageLog,ConsumerLog
队列的消息需要一个存储的介质,Kafka的对应的存储为文件存储,生产者生产的消息存储在MessageLog
, 然后根据不同的消费和路由规则路由,投递到对应的服务器上面,产生对应的ConsumerLog.
Partition
当投递的消息比较多的时候,就需要对ConsumerLog进行分片,分到不同的服务器上面,这个分片称之为partition
,对于Kafka来说,一个Consumer
一般和Partition
成倍数关系,一个Consumer可以消费一个或者多个Partition
.
Broken
Broken可以理解为消费者的服务器。