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

Apache Kafka —一个不同的消息系统的更多相关文章

  1. [kfaka] Apache Kafka:下一代分布式消息系统

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  2. 【转载】Apache Kafka:下一代分布式消息系统

    http://www.infoq.com/cn/articles/kafka-analysis-part-1 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩 ...

  3. 转 Apache Kafka:下一代分布式消息系统

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  4. Apache Kafka:下一代分布式消息系统【转载】

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  5. Apache Kafka:下一代分布式消息系统

    [http://www.infoq.com/cn/articles/apache-kafka/]分布式发布-订阅消息系统. Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日 ...

  6. Kafka(分布式发布-订阅消息系统)工作流程说明

    Kafka系统架构Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和 ...

  7. Kafka不只是个消息系统

    作者丨 Jay Kreps Confluent 联合创始人兼 CEO Jay Kreps 发表了一篇博文,给出了 Kafka 的真正定位——它不只是个消息系统,它还是个存储系统,而它的终极目标是要让流 ...

  8. Kafka集群---分布式消息系统

    概念: kafka是一种消息中间件 作用: 解耦.冗余.提高扩展性.缓冲 保证顺序.灵活.削峰填谷 异步通信 kafla角色 producer: 生产者,负责发布消息 consumer: 消费者,负责 ...

  9. Kafka 与传统 MQ 消息系统之间有三个关键区别?

    (1).Kafka 持久化日志,这些日志可以被重复读取和无限期保留 (2).Kafka 是一个分布式系统:它以集群的方式运行,可以灵活伸缩,在内部通过 复制数据提升容错能力和高可用性 (3).Kafk ...

随机推荐

  1. ubuntu 安装(install) pwntcha[一个做"验证码识别"的开源程序]

    一.安装 1. sudo apt-get install libsdl1.2-dev libsdl1.2debian sudo apt-get install libsdl1.2-dev(比较大,10 ...

  2. 2018-2019-2 网络对抗技术 20165301 Exp1 PC平台逆向破解

    任务一 直接修改程序机器指令,改变程序执行流程 1.输入指令objdump -d pwn5301 | more反汇编pwn1文件. 通过反汇编,可以看到main函数中的call 804891,其机器码 ...

  3. Luogu P3957 跳房子

    题面 跳房子,也叫跳飞机,是一种世界性儿童游戏,也是中国民间传统的体育游戏之一. 跳房子的游戏规则如下:  在地面上确定一个起点,然后在起点右侧画 n 个格子,这些格子都在同一条直线上.每个格子内有一 ...

  4. Archlinux系统配置学习笔记(一)

    本文档是有关Archlinux系统配置的学习笔记,参考和学习的是Archlinux官方网站上的相应文档:General Recommendations. 这里的配置主要是针对按照官方网站上的文档刚刚完 ...

  5. zoj 3819(2014牡丹江现场赛 A题 )

    题意:给出A班和B班的学生成绩,如果bob(A班的)在B班的话,两个班级的平均分都会涨.求bob成绩可能的最大,最小值. A班成绩平均值(不含BOB)>A班成绩平均值(含BOB) &&a ...

  6. dojo 加载自定义module的路径问题

    因为最近想学学ArcGIS API for JavaScript ,翻了下ESRI的官网guide,发现其是基于dojo框架的,看了两页实在看不懂,于是先来熟悉下dojo框架.人蠢不能怪社会%> ...

  7. 【AtCoder】AGC025题解

    A - Digits Sum 枚举即可 代码 #include <bits/stdc++.h> #define fi first #define se second #define pii ...

  8. CSS------li中的宽和高无法修改问题

    如图: 代码:(需要将display属性值设置为inline-block) <ul style="margin-top:50px"> <li style=&quo ...

  9. sqlite读写

    #coding=utf-8 import sqlite3 import os #创建数据库和游标 if os.path.exists(' test.db'): conn=sqlite3.connect ...

  10. 002.SSH日常命令

    一 远程登陆 ssh 用户名@远程主机ip:首次登陆需要下载对方公钥. 实例:ssh 192.168.10.129 二 远程复制 scp root@远程主机ip:[远程主机文件绝对路径] [需要保存的 ...