AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

Apache Kafka —一个不同的消息系统

  • 2014-01-04
  • 本文字数:1267 字

    阅读完需:约 4 分钟

Apache 已经发布了 Kafka 0.8,也是自从成为 Apache 软件基金会的顶级项目后 Kafka 的第一个主版本。 Apache Kafka 是发布—订阅消息传递,实现了分布式提交日志,适用于离线和在线消息消费。它最初由 LinkedIn 开发的消息系统,用于低延迟的收集和发送大量的事件和日志数据。最新版本包括群集内复制和多数据目录支持。目前请求处理也是异步的,使用请求处理线程的附属线程池来实现。日志文件可以按年龄进行覆盖,并且日志级别可通过 JMX 进行动态设置。性能测试工具已提供,帮助解决存在的性能问题,并寻找潜在的性能优化点。

Kafka 是一个分布式,分区化,可复制的提交日志服务。生产者将消息发布到 Kafka 主题,消费者订阅这些主题并消费这些消息。在 Kafka 集群上一个服务器称为一个 Broker。对于每一个主题,Kafka 群集保留一个用于缩放,并行化和容错性的分区。每个分区是一个有序,不可变的消息序列,并不断追加到提交日志文件。分区的消息每个也被赋值一个称为偏移顺序的序列化编号。

偏移是由消费者来控制。典型的消费者将处理列表中的下一条消息,它可以以任何顺序接收消息,因为 Kafka 集群为所有发布的消息保留一段可配置的时间。这让消费者很灵活,他们可以来去自由而不影响群集,并适合像 Hadoop 集群这样的脱机消费者。生产者能够选择那一个主题,主题的那一个分区,来发布该消息。消费者自己也可以分配一个消费者组名,每个消息将发送给每个订阅消费者组的消费者。如果所有的消费者有不同的消费组,那么消息将被广播到每一个消费者。

Kafka 可以像一个传统的消息 Broker 使用。它具有高吞吐量,内置分区,可复制和容错等特性,这使得它成为大型消息处理应用的理想解决方案。Kafka 也可以用于高访问量的网站活动的跟踪机制。网站活动可以被发布,并且可以被实时处理,或加载到 Hadoop 或离线的数据仓库系统。Kafka 也可以用来作为一种日志整合方案。代替工作于日志文件,日志可以作为消息流处理。

Kafka 目前用于 LinkedIn,它每天处理超过 100 亿消息,持续负载平均每秒 172,000 消息。目前,无论从内部和外部的使用数据的应用程序大量使用多订阅者支持。每个消息发布出来后,基本上会有 5.5 个消息消费者使用,这导致的结果是每一天将有 550 亿的消息发送给实时消费者。367 个主题涵盖用户活动的主题和运营数据,其中最大将每天增加的平均 92GB 批量压缩消息。信息保存时间为 7 天,这些平均约 9.5 TB 压缩消息跨越主题。除了在线消费者,还有众多的大型 Hadoop 集群,它们消费频繁,高吞吐量,并行矩阵,作为离线数据负载的一部分。

作为入门,访问官方的 Apache Kafka 文档页,你可以学习更多和下载 Kafka。也有一篇来自 LinkedIn 的论文,标题为《构建LinkedIn 的实时活动数据管道》 , 该论文讨论Kafka 建立原因和Kafka 设计上的特性。

查看英文原文: Apache Kafka - A Different Kind of Messaging System


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-01-04 22:4911947

评论

发布
暂无评论
发现更多内容

AntDB-M设计之CheckPoint

亚信AntDB数据库

AntDB aisware antdb AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

华为云开发者联盟

Python 华为云 图像处理 企业号十月 PK 榜

百度工程师教你玩转设计模式(适配器模式)

百度Geek说

Java 设计模式 适配器模式 企业号十月 PK 榜

Java | Scanner关键字、random 关键字、System类和匿名函数

陌上

Java、 编程、 10月月更

Java | 面向对象

陌上

Java、 编程、 10月月更

2022仪器仪表行业ERP系统十大品牌排行榜

叶落便知秋

算法 | 使用栈计算表达式

甜点cc

Go 算法 10月月更

ClickHouse 冷热分离存储在得物的实践

得物技术

数据库 Clickhouse 存储 日志平台 企业号十月 PK 榜

实用性强更安全,后悔没早用华为云

清欢科技

Java基础 | 常量、数据类型、变量、类型转换、运算符

陌上

Java、 代码 10月月更

Web前端小白知识点

木偶

前端 H5 10月月更

软件供应链端侧安全,小程序安全沙箱技术或许能帮到忙

Geek_99967b

小程序

2022机械设备行业ERP系统十大品牌排行榜

叶落便知秋

2022全球主流一体化ERP系统十大品牌排行榜

叶落便知秋

小间距LED显示屏视频拼接器的技术要求

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

安全沙箱隔离企业风险

Geek_99967b

小程序

快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务

汀丶人工智能

nlp 知识图谱 关系抽取 事件抽取 命名实体识别

轻量级的隔离技术:安全沙箱

Geek_99967b

小程序

数据安全不容忽视,华为云网站安全为企业保驾护航

爱科技的水月

ClickHouse 和 Elasticsearch 压测对比,谁才是yyds?

程序知音

数十倍的数据量增长,传统 OLAP 还能应对吗?

Kyligence

大数据 金融行业 OLAP技术

一份阿里内部GC面试手册,仅一周Github获赞96.9K

程序知音

Java JVM Java虚拟机 java架构 后端技术

开源时代下,怎样强化自己的应用安全

Geek_99967b

小程序

SENSORO 付刘伟:图分析在城市治理服务的应用与落地

SENSORO

智慧城市 图数据库 图数据 数据服务

二进制之间的加减乘除运算

甜点cc

学习笔记 计算机 二进制 10月月更

手把手教你成为荣耀开发者:帐号管理这样做

荣耀开发者服务平台

开发者 手机 安卓 荣耀 honor

Arctic 基于 Hive 的流批一体实践

网易数帆

hive iceberg LakeHouse Arctic 企业号十月 PK 榜

「经验汇总」基于TDengine的时序数据解决方案

TDengine

数据库 tdengine 时序数据库

全能型选手——华为云数据库GaussDB(for MySQL)

清欢科技

华为云,安全创新的云服务标杆,助力企业数字化转型

爱科技的水月

vscode插件设置——Golang开发环境配置

甜点cc

Go ide vscode 插件 10月月更

Apache Kafka —一个不同的消息系统_Java_Bienvenido David_InfoQ精选文章