小记--------kafka基础架构

kafka的消费者组,是为了提供消费速度,
1.为方便扩展,并提高吞吐量,一个topic分为多个partition
2.配合分区的设计,提出消费者组的概念,组内每个消费者并行消费
3.为提高可用性,为每个partition增加若干副本,类似NameNode HA
    因为一个消费者组的一个消费者只能消费一次同一个topic的一个partition的数据。
    
也就是说,如果Topic A 有 100条数据有两个partition,而消费者组 只有一个消费A , 那么这一百条数据都必须挨个由A消费, 
所以当topic有两个partition(分区)、并且消费者组有2个消费者的时候,就可以并行消费数据 消费者A 消费partition 0 的数据, 消费者B 消费partition1 的数据,从而提升效率。
 
但是如果topic只有两个partition, 但是消费者组有三个消费者, 也是没有用的,因为同一个消费者组的一个消费者只能消费一次topic的一个partition, 也就是总会有一个消费者是没有数据消费的,所以在创建消费者组 中消费者数量的时候需要考虑所要消费的Topic的分区数。
 
kafka副本数为2 , 不是说有2个Follower   ,  而是Leader + Follower 的个数一共为2    
并且两个副本数 绝对不会存在同一个broker上, 因为副本的作用就是为了HA, 为了高可用,一台broker挂了, 会去另一台broker上找到副本数据。 所以如果leader和Follower存在一台Broker上就失去它本身的意义了 。
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/yzqyxq/p/12764781.html