码迷,mamicode.com
首页 > 其他好文 > 详细

Kafka

时间:2019-09-24 08:07:08      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:成员   消费   topic   也会   模式   而不是   服务   cer   rod   

一个kafka实例就是一个Broker,多个Broker可以在一台机器上,也可以分布于多个机器。一个topic类似一个信箱,一个topic可以设置多个partition ,多个partition可以位于一个Broker,也可以分布于多个Broker中。每个topic的每个partition 中的消息都是递增有序的,递增有序跟其他的partition 没有关系,序号称之为Offset。Producers生产消息时会指定topic和partition。Consumers消费消息时也会指定topic和partition。

 

订阅消息通常有两种模式:队列模式(queuing)和发布-订阅模式(publish-subscribe)。队列模式中,consumers可以同时从服务端读取消息,每个消息只被其中一个consumer读到;发布-订阅模式中消息被广播到所有的consumer中。Consumers可以加入一个consumer 组,共同竞争一个topic,topic中的消息将被分发到组中的一个成员中。同一组中的consumer可以在不同的程序中,也可以在不同的机器上。如果所有的consumer都在一个组中,这就成为了传统的队列模式,在各consumer中实现负载均衡。如果所有的consumer都不在不同的组中,这就成为了发布-订阅模式,所有的消息都被分发到所有的consumer中。更常见的是,每个topic都有若干数量的consumer组,每个组都是一个逻辑上的“订阅者”,为了容错和更好的稳定性,每个组由若干consumer组成。这其实就是一个发布-订阅模式,只不过订阅者是个组而不是单个consumer。

 

kafka的可靠性是基于分区的,同一个topic的某一个分区可以分别处于多个Broker中,同一个分区会有多份,多份中会有主从概念,主从分配使用Zookeeper

Kafka

标签:成员   消费   topic   也会   模式   而不是   服务   cer   rod   

原文地址:https://www.cnblogs.com/chen-hehe/p/11576169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!