ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

14) 21.11.29 浅谈 Kafka了解

2021-11-29 23:32:51  阅读:124  来源: 互联网

标签:浅谈 一个 分区 29 Kafka topic 服务器 leader


1.认识Kafka
Kafka对消息保存时依据Topic进行归类,发送消息成为Producer,消息接受者成为Consumer,此外Kafka集群有多个Kafka实例组成,每个实例(server)称为broker. 低版本之前集群,con和pro都依赖zk保证系统可用性,为集群保存meta信息。
2.概念
1).Kafka作为一个集群运行在一个或者多个服务器上
2).Kafka通过topic对存储的流数据进行分类
3).每条记录包含一个key,value,timestamp
3.Topics和Logs
1)可以用来区分业务系统,一个topic可以用于一个或者多个消费者来订阅他的消息,每一个topic,都会有一个log分区日志,与topic相关的还有个叫partion,可以认为是队列,顺序消费,队尾插入,消息到哪个位置这个信息由zk存储。
2)与logs相关的有distribution
log的分区被分布到集群的多个服务器,每个服务器处理分到的分区,每个分区还有备份在别的服务器,(旨在解决,一个服务器崩了,消息不会丢失的情况)每个分区都会有一个leader,零个或者多个follwer,如果leader宕机,zk会选举另一台服务器的follwer为leader,一台服务器可以是一个分区的leader也可以是另一个分区的follwer,这样可以平衡负载。
4.Producer
生产者往某个Topic上发布信息,生产者也负责选择发布到哪一个分区,最简单的是轮询分区,也可根据算法根据权重选择
5.Consumer
消费者通过一个消费组名称来负责标识,发布到topic的每条记录 被分配到订阅消息的某一个实例,消费者实例可以分配到多个机器。
1)如果所有消费者实例在同一消费组,消费记录会负载平衡到每一个消费实例
2)如果所有的消费实例在不同消费组,每条消费记录会广播到所有消费者进程
6.Replication
每个Partion会被复制到其他服务器作为Replication,作为冗余备份的策略
1)partion的多个Replication不能在同一个服务器上
2)至少一个leader,零个或者多个follwer
3)leader处理分区(Broker)的读写请求,follwer被动的复制数据
4)leader宕机选举follwer
7.四个核心的API
1)Producer API
允许一个应用程序发布一串流式数据到一个或者多个Kafka topic
2)Consumer API
允许一个程序订阅一个或者多个topic,并对发布给他们的流式数据进行处理
3)Stream API
允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或者多个topic去,在输入输出流中进行有效的转换
4)Connector API
允许构建并运行可重用的生产者或者消费者,连接kafka到应用程序,例如数据库,捕捉table所有的变更内容
8.
备份保证分布式可靠性,防止一个Broker宕机造成分区的数据不可用

标签:浅谈,一个,分区,29,Kafka,topic,服务器,leader
来源: https://blog.csdn.net/qq_45095838/article/details/121622252

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有