珠宝购物网站的建设,寻找移动网站建设,重庆云阳网站建设价格,html5 图片网站模板broker:每个kafka的机器节点都会运行一个进程#xff0c;这个进程叫做broker#xff0c;负责管理自身的topic和partition#xff0c;以及数据的存储和处理#xff0c;因为kafka是集群形式的#xff0c;所以一个集群中会存在多个broker#xff0c;但是kafka的整体又不是一…
broker:每个kafka的机器节点都会运行一个进程这个进程叫做broker负责管理自身的topic和partition以及数据的存储和处理因为kafka是集群形式的所以一个集群中会存在多个broker但是kafka的整体又不是一个主从集群需要选举出来一个broker节点为主节点管理整个集群中所有的数据和操作以及所有节点的协同工作。每个broker上面都存在一个controller组件这个组件就是主节点管理组件负责整个集群的管理但是只有一个机器是active状态的这个需要zookeeper进行协调和选举 topic:在kafka中存在一个非常重要的逻辑结构叫做topic可以称之为主题。当我们很多业务需要使用kafka进行消息队列的消息缓存和处理的时候我们会将消息进行分类处理不能让多种类的数据放入到一起这样使用特别混乱所以topic主主题进行分类是kafka数据处理的一大特色可以类比现实中的主播。一个主播在直播的时候都会创建一个自己的房间每个主播都不会相互干扰。各自主播自己的内容。 partition:分区每个topic中在使用过程中会存储很多数据这些数据如果默认只给一个broker进行处理那么这个broker的压力会太大集群应该负载均衡让数据的压力在不同的机器上共同分摊所以每个topic都会分为不同的分区一个分区是一个topic数据真正的物理存储方式让数据分为不同的部分在多个节点上存储和管理。分区是kafka物理存储最小的负载均衡单位生产者生产数据的时候指向多个分区消费者也可以在消费数据的时候从不同的分区读取数据 每个broker节点会按照topic的名称和分区的名称组合在一起形成一个文件夹进行文件内容的存储一个broker会管理多个topic的不同分区的数据 备份在一个topic中存在多个分区每个分区存储一部分这个topic的数据但是因为存在多个机器上不能够保证数据的稳定性所以数据需要进行备份管理所以分区是存在备份的比如topicA的数据就需要存储多份在不同的机器上这样数据损坏一份其他的部分还可以使用
主从数据在存储的时候需要备份多个那么这些数据就要保证数据的一致性所以我们不能再存放数据的时候随意的向任何副本写入因为这样集群中一个分区的多个副本没有办法保证数据的一致性所以我们只能写入数据到一个副本这个副本叫做主副本其他的副本会从主副本同步数据从而保证数据的一致性那么这个主从的选举是broker的主节点进行选举的和zookeeper没有关系 zookeeper:帮助选举broker为主记录哪个是主broker集群存在几个topic,每个topic存在几个分区分区存在几个副本每个分区分别在哪个机器节点上
producer: 生产者将数据远程发送到kafka集群一般都是flume进行数据采集并且发送到集群producer一般只能发送数据到一个topic中和一个主播只能在自己的房间直播一样
consumer消费者消费数据并且参加计算处理一般都是sparkflink等计算框架充当。但是一个消费者可以同时消费多个分区的数据就如一个观众可以一起看多个小姐姐直播一样
大家一定要知道一个重要的问题就是数据不管是生产者还是消费者都是一条一条的操作这个才是消息队列这也是消息队列和hdfs等存储介质不同的地方消息队列更加偏向于流式处理并不是整体存取。