kafka 中相关组件topic、broker、producer、consumer原理及负载均衡策略

您所在的位置:网站首页 consumer名词 kafka 中相关组件topic、broker、producer、consumer原理及负载均衡策略

kafka 中相关组件topic、broker、producer、consumer原理及负载均衡策略

2024-07-11 10:08| 来源: 网络整理| 查看: 265

目录

1.kafka2.topic3.broker4.producer5.consumergroup6.负载均衡策略

1.kafka

kafka是类jms消息队列,与jms不同的是,kafka可以有多个消费者consumer主动拉取数据。

2.topic

topic是逻辑上:一个目标发送目的地,物理上:一个磁盘上的partition的目录。

一个topic可以对应多个partition;

一个partition可以划分多个segment; 一个segment的默认值是1G;

一个segment包括index 和 log 文件。

注意点:

topic不仅可以设置partition,还可以设置replication number,并且在多个replication中选取leader。 该主从模式与mysql的主从不同,此模式下所有的读写操作均通过leader管理,而mysql的主从则是为了读写分离。在kafka中,读写操作都是leader; 在mysql中,leader负责写,follower负责读。

3.producer

producer负责数据生产到broker中,producer决定数据分发策略,默认使用key的哈希值对分区数取模算法,该算法和hdfs中partition算法相同。

4.broker

broker是当前服务器上运行的kafka的实例,在kafka集群中每一个broker对应一个唯一的ID,即brokerId。

broker不关心数据何时生产,何时消费,它只关心数据存储。

5.consumergroup

consumergroup是数据消费组,该组可以设置多个,组与组之间消费的数据都是一样的;

在同一个组内可以有多个consumer,在同一个组内的成员共同消费一个topic数据,组内成员不能重复消费数据。

6. 负载均衡策略

分组策略:数据如何分组

默认是 (key.hashcode)%numPartitions。

安全策略:消息是否确认接收

ack机制,

0是不等待broker返回确认消息,

1是等待topic中某个partition的leader保存成功statement,

-1是等待topic中某个partition所有副本都保存成功statement。

保存策略:消息如何保存

在理论环境下,broker按照顺序读写的机制,可以每秒保存600M的数据。主要通过pagecache机制,尽可能的利用当前物理机器上的空闲内存来做缓存。当前topic所属的broker,必定有一个该topic的partition,partition是一个磁盘目录,partition的目录中有多个segment组合。

存放策略:partition与broker 关系

partition轮询依次访问broker,这样负载均衡在多个broker上。

消费策略:partition与consumergroup关系

理想策略是一个consumer对应一个partition;

若consumer数量大于partition数量,则会出现空闲的consumer;

若consumer数量小于partition数量,则使用如下算法:

 假如topic, 具有如下partitions: P0,P1,P2,P3  加入group中,有如下consumer: C1,C2  首先根据partition索引号对partitions排序: P0,P1,P2,P3  根据consumer.id排序: C0,C1  计算倍数: M = [P0,P1,P2,P3].size / [C0,C1].size,  本例值M=2(向上取整)  然后依次分配partitions: C0 = [P0,P1],C1=[P2,P3],   即  Ci = [P(i * M),P((i + 1) * M -1)] 有序策略:信息消费全局有序性

数据生产可以做producer集群,数据存储可以做broker集群,数据消费可以做consumergroup;

倘若保证消息消费的全局有序,则保证数据生产有序,数据存储有序,数据消费有序。

若满足一个producer,一个partition,一个consumer,则可以保证数据消费的全局有序。

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3