写点什么

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:4912114

评论

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

Spark和Hadoop以及区别

编程江湖

大数据

左右互搏:GAN在爱奇艺短视频推荐冷启动中的实践

爱奇艺技术产品团队

性能监控之Sleuth+Zipkin 实现 SpringCloud 链路追踪

zuozewei

链路追踪 性能测试 SpringCloud 性能监控 签约计划第二季

接口测试 再也不必来回切换,发现一个接口测试软件,可以替代 Swagger+Mock+Jmeter+Postman

LynnYang

接口测试 测试工具 接口自动化自动化测试平台 Mock Mock测试框架

CSS之选择器(二)

Augus

CSS 12月日更

CODING 与悬镜安全达成战略合作,引领 DevOps 向 DevSecOps 创新模式升级

CODING DevOps

DevOps 数字化转型 DevSecOps

Apache Log4j2 远程代码执行 漏洞

try catch

2022第十五届北京国际物联网展览会

InfoQ_caf7dbb9aa8a

北京行动计划

Zilliz 上榜甲子光年「2021 中国最具商业潜力的20 家数据智能 Cool Vendor」

Zilliz

接口自动化的关键思路和解决方案,本文都讲清楚了

LynnYang

Postman 接口测试 接口自动化自动化测试平台

初学者只懂操作步骤可不行,本文把接口测试的理论原理和工具功能逻辑都说清楚了

LynnYang

软件测试 Jmeter Postman 自动化测试 接口测试

固生堂中医与民生银行广州分行开启战略合作!构建便利、健康生活

E科讯

智慧园区系统建设助力智慧城市信息化建设

a13823115807

智慧城市 智慧园区 智慧园区系统平台建设

《风起洛阳》原来还能这么玩?“奇观”玩法集锦大揭秘

爱奇艺技术产品团队

缓存和数据库一致性问题说烂了,但这篇让我跪下唱征服!

百度开发者中心

数据库 缓存

2022北京-AI人工智能-主题展

InfoQ_caf7dbb9aa8a

前端必备!5大mock省时提效小tips,用了提前下班一小时

LynnYang

Mock Mock测试框架

性能监控之常见 Java Heap Dump 方法

zuozewei

Java JVM 性能测试 性能监控 签约计划第二季

课程预告丨12月15日晚官方直播带你领略ArkUI的声明式开发范式之美

HarmonyOS开发者

HarmonyOS ArKUI 3.0

万物可检索可回放

mtfelix

28天写作

模块六作业

panxiaochun

架构实战营

练手练到阅文集团作家中心了,python crawlspider 二维抓取学习

梦想橡皮擦

12月日更

测试小白入门必知必会的8个测试工具

LynnYang

软件测试 接口测试 测试工具

鸿蒙应用开发:实现简单的媒体播放器

ZEGO即构

音视频 HarmonyOS 媒体播放器

openLooKeng ODBC用户手册

LooK

【炸雷】Elasticsearch 的 Log4j 漏洞处置策略

极限实验室

elasticsearch log4j 安全漏洞 极限网关 infini gateway

图数据库平台建设及业务落地

安第斯智能云

数据库 算法 小布助手

Spring Cloud 整合 Nacos 实现服务配置中心

程序员泥瓦匠

Spring Cloud nacos spring cloud alibaba

网络安全:记一次安全审计

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 代码审计

5G基站智能化开通

鲸品堂

5G 网站安全基础

皮皮APP x 武汉市残疾人福利基金会 共建成长乐园

联营汇聚

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