kafka学习之基本概念-创新互联

一、kafka常用基本概念

producer:生产者,生产并发送消息的一方。

成都创新互联服务项目包括晋宁网站建设、晋宁网站制作、晋宁网页制作以及晋宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,晋宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到晋宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

consumer:消费者,接收消费消息的一方。

topic:一类消息的集合。在kafka中,消息以主题为单位进行归类,producer负责将消息发送到指定的主题,而consumer负责订阅主题并进行消费。

kafka中的一条消息其实就是一个包含<topic,partition,offset>消息三元组。

broker:服务代理节点。对于Kafka而言,Broker可以简单地看作一个独立的Kafka服务节点或Kafka服务实例。一个kafka集群中会有多个broker节点。一个broker可以容纳多个 topic。

partition:topic是一个逻辑上的概念,它还可以细分为多个分区,一个分区只属于单个topic,很多时候也会把分区称为主题分区(Topic-Partition)。同一主题下的不同分区包含的消息是不同的,分区在存储层面可以看作一个可追加的日志(Log)文件,消息在被追加到分区日志文件的时候都会分配一个特定的偏移量(offset)。offset是消息在分区中的唯一标识,Kafka通过它来保证消息在分区内的顺序性,不过offset并不跨越分区,也就是说,Kafka保证的是分区有序而不是topic有序。

producer在发送消息时候,具体发送到哪个pritition,有以下规则确定:

kafka默认轮询规则;

producer指定key,根据key的hash值,分配partition;

producer自定义规则;

replication:partition的副本,从leader replica同步数据,当kafka服务挂了之后,防止数据丢失。副本的数量不能超过broker的数量,否则创建主题时会失败。

领导者副本(leaderreplica):响应客户端发来的消息写入和消息消费请求。

追随者副本(followerreplica):从领导者副本同步数据,不响应客户端的读写请求。

segment:partition物理上由多个segment组成。segment中存储了索引和log数据。

offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition唯一标识一条消息。

consumer group:kafka消费者组,一个组内可以有多个消费者,一个partition的消息只能被同一个组内的一个消费者消费。多个消费者组之间互相不影响。

二、kafka原理图

1.kafka基本概念图示

  如图所示,一个producer,两个broker,一个topicA(两个partition,两个副本),一个消费者组(两个消费者)。

如上图所示,topic1中的两个partition分别在两个broker上面,其中两个副本也分布在两个broker上面,并且leader partition和follow partition分别在不同的broker上面,这样的目的是保证了kafka的高可用性,当任意一个broker挂掉之后,kafka仍然保证消息不丢失,服务的可用性。

  leader partition负责提供读写服务,当leader partition挂掉之后,kafka会从follow partition中选举新的leader partition来提供读写服务。

2.partition结构图

  partition中又细分为更小的存储单元segment,segment中存储索引和log数据,数据在partition追加,保证kafka消息在partition中的有序性。

  segment的设计结构,在kafka中消息比较多的时候,清理起来效率更高,比单独操作一个更大的partition文件要方便的多,所以partition中又细分了segment存储单元。

三、常用命令

在kafka按照目录下,进入到bin目录下执行如下常用命令:

#进入到bin目录

cd /kafka/bin

#创建/删除topic

sh kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 1 --partitions 1

sh kafka-topics.sh --zookeeper localhost:2181 --delete --topic test

#生产数据

sh kafka-console-producer.sh --broker-list localhost:9092 --topic test

#消费数据

sh kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

sh kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

#查看消费组情况

sh kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

sh kafka-consumer-groups.sh --bootstrap-server localhost:9092  --group group_test --describe

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

新闻标题:kafka学习之基本概念-创新互联
当前URL:https://www.cdcxhl.com/article20/dcsgjo.html

成都网站建设公司_创新互联,为您提供网站改版面包屑导航响应式网站标签优化网站设计公司微信小程序

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设