千家信息网

Apache顶级项目介绍2-Kafka

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Apache顶级项目介绍系列-1,我们从Kafka说起。why?流行 + 名字cool。Kafka官网是见过比较简单,直叙的网站,"kafka是一个高吞吐的分布式的消息系统"。 Kafka最初起家于L
千家信息网最后更新 2025年01月23日Apache顶级项目介绍2-Kafka


Apache顶级项目介绍系列-1,我们从Kafka说起。why?流行 + 名字cool。

Kafka官网是见过比较简单,直叙的网站,"kafka是一个高吞吐的分布式的消息系统"。 Kafka最初起家于LinkedIn,当时原本作为linkedin用来管理活动流(PV,用户行为分析,搜索情况)和运营数据处理的pipline的基础。

因为其分布式以及高吞吐被广泛使用,如与Cloudera, Hadoop, Storm, Spark etc.

kafka首先作为一个消息系统,提供了基本功能,如解耦,顺序性,异步性等。同时优质的设计理念支撑高吞吐,提供O(1)时间负责度持久化能力,数据级别达到TB/PB以上,支持离线与实时处理,即与hadoop,storm对接,支持水平scale out。

架构图:



可以看到,kafka是一个分布式架构设计(当然DT时代,不支持水平scale out无法生存), 前段producer并发(支持批量)push消息到kafka特定topic集群服务器broker,每个topic又包含多个partition便于水平扩展,消费者consumer通过consumer group向broker服务器pull获取消息。kafka通过zk管理集群配置,选举leader,以及rebalance。消息模式为push/pull。

我们来建一个kafka集群服务:



通过zk发送,消费消息:


用java来生产/消费消息:

比较直白,这里注意可以批量发送消息,不是所有消息中间件可以批量发送的,批量发送是高吞吐原因之一。

这里使用stream流来消费payload,消息流迭代器用不停止,类似监听消息一样。

kafka之所以高效或者其创新点:

  1. 消息删除管理 通常消息中间件会消费一个消息,删除一个消息,这使得消息的使用代价非常高额。而kafka使用无状态管理,引入消息偏移量,消息基于时间的SLA应用保留策略,当消息超过一定时间后才被删除,这样按照官网的说法,消费Kafka消息就是非常轻量级:come and go. 听起来像外卖一样,take and go. 甚至,由于引入偏移量,消费者可以随意获取任意位置消息,包括重新获取已经消费过的消息。


2. Kafka利用linux sendfile从linux kernel复制文件


3.kafka引入zk,管理分布式协调,HA,容错。zk用来管理kafaka代理broker,当kafka新增或者某代理失效,zk服务将通知生产者与消费者。

4. 生产者性能,消息结构优化大小以及批量发送



5. 消费这性能:消息结构优化以及无状态引入便宜量,无需为何b+树索引。

总体来说kafka表现异常突出,不失为通常消息中间件的代替品,如果管理hadoop,stream更是首推。另外如果处理网站日志,用户使用行为分析,或者离线处理log等都是不二之选。

好了,先到这里了,起个大早来写东西,果然不靠谱,时间紧任务重啊。望大家包涵,有些图借用自网络。

公众号:技术极客TechBooster


消息 消费 管理 分布式 时间 吞吐 处理 支持 服务 中间件 水平 消费者 集群 生产 性能 数据 服务器 架构 状态 生产者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浙江新一代网络技术服务技术 滨州制造业软件开发服务 精睿网络安全是什么 灵武app软件开发 相框制作软件开发 20个数据库设计图 水管所网络安全排查情况汇报 雷霆2298服务器 警察网络安全管理考哪些科目 福建掌控软件开发有限公司 阿里巴巴的网站服务器 笔记本要求输入网络安全密钥 神经元网络技术常用于物联网 网络安全管理技术是什么意思 北京网络安全日答题 北京国际服务器设置虚拟主机 找软件开发需要准备什么 广安忆真坊网络技术咨询 删除数据库用户级联表空间 设置安全令提示服务器错误 多伦天气预报软件开发 网络安全创业公司 计算机等级考网络技术题库 邯郸哪里有软件开发费用 数据库 批量插入 湖南服务器电源种类 未来汽车电子软件开发模式 高新区网络技术服务怎么样 网络技术知识基础 内蒙古高校党建软件开发
0