`
san_yun
  • 浏览: 2638233 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

LinkedIn发布kafka

    博客分类:
  • mq
 
阅读更多

原文:http://blog.linkedin.com/2011/01/11/open-source-linkedin-kafka/

 

Code Alert! This is a part of our continuing series on Engineering at LinkedIn. If this isn’t your cup of Java, check back tomorrow for regular LinkedIn programming. In the meanwhile, check out some of our latest product features, tips and tricks, or user stories. - Ed.

 

We are pleased to open-source another piece of infrastructure software developed at LinkedIn, Kafka, a persistent, efficient, distributed message queue. Kafka is primarily intended for tracking various activity events generated on LinkedIn’s website, such as pageviews, keywords typed in a search query, ads presented, etc. Those activity events are critical for monitoring user engagement as well as improving relevancy in various other products. Each day, a substantially large number of such events are generated. Therefore, we need a solution that’s scalable and incurs low overhead.

 

We first looked at several existing queuing solutions in the market. The most popular ones are based on JMS. Although JMS offers a rich set of features, it also adds significant overhead in the message representation. Additionally, some JMS implementations are optimized for the case when all messages can be cached in memory and their performance starts to degrade significantly when the in-memory buffer is saturated. Finally, most existing solutions don’t have a clean design for scaling out.

 

That’s why we decided to build Kafka. In summary, Kafka has the following three design principles: (1) a very simple API for both producers and consumers; (2) low overhead in network transferring as well as on-disk storage; (3) a scaled out architecture from the beginning. More details on the technical aspect of Kafka can be found here.

 

Today, Kafka has been used in production at LinkedIn for a number of projects. There are both offline and online usage. In the offline case, we use Kafka to feed all activity events to our data warehouse and Hadoop, from which we then run various batch analysis. In the online case, a service will consume events in real time. For example, in LinkedIn Signal, Kafka is used to deliver all network updates to our search engine. Typically , an update becomes searchable within a few seconds after it is posted. The design of Kafka allows us to use a single infrastructure to support events delivery for both cases.

We feel that Kafka can be very useful in many places outside of LinkedIn. By open sourcing it, we hope to work with people in the community to keep improving Kafka in the future. We welcome comments and suggestions from everybody.

 

分享到:
评论

相关推荐

    LinkedIn基于Kafka和ElasticSearch的实时日志分析系统

    ### LinkedIn基于Kafka和ElasticSearch的实时日志分析系统 #### 一、概述 LinkedIn构建了一套基于Kafka和ElasticSearch的实时日志分析系统。这套系统旨在处理大量实时产生的日志数据,并能够迅速地对这些数据进行...

    kafkatool 连接kafka工具

    `kafkatool` 是由 LinkedIn 开发的一款开源命令行工具,它提供了与 Kafka 集群交互的各种功能,包括但不限于创建和管理主题、检查消费者组状态、数据备份与恢复等。这个工具支持 SSL 和 SASL 安全认证,可以用于管理...

    依据kafka做的日志收集设计

    1. Kafka系统简介:Apache Kafka是一个可伸缩的发布-订阅消息系统,其核心架构是基于分布式提交日志的设计。它最初由LinkedIn构建,作为其在线数据集成任务的中心化事件管道平台。 2. Kafka的设计目标:Kafka最初...

    Kafka实例Kafka实例

    在IT行业中,Kafka是一个非常重要的分布式流处理平台,由LinkedIn开发并贡献给了Apache软件基金会。Kafka实例是实现大规模实时数据处理的关键组件,广泛应用于日志聚合、流数据分析、消息传递等多个领域。本篇文章将...

    Kafka技术内幕:图文详解Kafka源码设计与实现+书签.pdf+源码

    Kafka是一个分布式流处理平台,由LinkedIn开发并捐赠给了Apache软件基金会。它主要用作消息队列,用于构建实时数据管道和流应用。以下将详细介绍Kafka的一些关键技术点: 1. **发布/订阅模型**:Kafka采用发布/订阅...

    Kafka技术内幕-图文详解Kafka源码设计与实现

    Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以0.10版本的源码为基础,深入分析了Kafka的设计与实现,包括生产者和消费者的消息处理流程,新旧消费者不同的设计方式,存储层的实现,协调者...

    Kafka尚硅谷.rar

    2. **Producer API**:允许应用程序向Kafka发布消息。 3. **Consumer API**:允许应用程序订阅并消费Kafka中的消息。 4. **Zookeeper**:用于协调Kafka集群,管理元数据和实现领导者选举。 5. **Kafka Connect**...

    Kafka详细课程讲义

    Apache Kafka是一款高吞吐量的分布式发布订阅消息系统,最初由LinkedIn开发并开源,现已成为Apache软件基金会的顶级项目。Kafka的设计目标是处理实时数据流,它提供了一个低延迟、高可伸缩、持久化、容错的平台,...

    Kafka the Definitive Guide 2nd Edition

    Kafka 是一个基于发布/订阅模式的消息队列系统,由 LinkedIn 开发,现已开源。Kafka 的主要特点是高性能、可扩展性和高可靠性,能够处理高吞吐量的消息数据。 2. Kafka 的核心概念 Kafka 的核心概念包括: * 消息...

    kafka kafka kafka kafka

    Kafka是一种分布式流处理平台,由LinkedIn开发并开源,后来成为了Apache软件基金会的顶级项目。它的设计目标是处理大规模实时数据,提供高吞吐量、低延迟的消息传递能力。Kafka通常被用作一个消息队列,允许应用程序...

    kafka-2.13-3.4.0.tgz

    Kafka,由LinkedIn开发并开源,是一款高性能、分布式的流处理平台,其设计目标是处理海量实时数据。它的核心特性是能够以高吞吐量进行消息的发布与订阅,同时保证数据的可靠传输。Kafka 2.13-3.4.0版本的发布,...

    kafka安装包-2.13-3.6.2

    Apache Kafka是一款高性能、分布式的消息中间件,由LinkedIn开发并捐献给Apache软件基金会。它最初设计的目标是构建一个实时的数据管道,能够高效地处理大量的数据流,同时支持发布订阅和队列模型,使得数据在系统...

    kafka封装 订阅和发布类

    在IT行业中,Kafka是一种广泛使用的分布式流处理平台,由LinkedIn开发并贡献给了Apache软件基金会。它被设计为高吞吐量、低延迟的消息中间件,适用于实时数据管道和流应用。在这个“kafka封装 订阅和发布类”的主题...

    kafka资源下载kafka_2.11-2.0.0.tgz

    Apache Kafka是一种开源的消息队列服务,它最初由LinkedIn开发,并于2011年成为Apache软件基金会的一个顶级项目。Kafka因其高性能、可扩展性和可靠性而受到广泛欢迎,被许多大型组织用于构建实时数据管道和流处理...

    华为kafka.zip

    Kafka是一种分布式流处理平台,由LinkedIn开发并贡献给了Apache软件基金会。它最初设计用于构建实时数据管道和流应用,能够处理大规模的实时数据。Kafka的主要特性包括高吞吐量、持久化、容错性和灵活性。在华为...

    Kafka全套学习笔记.zip

    Apache Kafka是一款分布式流处理平台,由LinkedIn开发并贡献给Apache软件基金会。Kafka作为一个强大的消息系统,它在大数据生态系统中扮演着重要的角色,广泛应用于实时数据流处理、日志聚合、用户行为追踪等多个...

    C#kafka开发实例

    Kafka是一种高效的消息中间件,最初由LinkedIn开发,现在已成为Apache软件基金会的顶级项目。它被设计为支持高吞吐量、低延迟的消息传递,适用于大数据处理、实时流处理和微服务架构。 首先,让我们了解Kafka的基本...

    Kafka .Net Framework4.0 版本

    Kafka是一款分布式流处理平台,由LinkedIn开发并开源,现在是Apache软件基金会的顶级项目。它设计用于处理海量实时数据,提供高吞吐量、低延迟的消息传递能力。在.NET Framework 4.0环境下,我们可以使用Kafka的.NET...

    kafka-2.11-1.1.0-aarch64,ARM版本

    Kafka是由LinkedIn开发并贡献给Apache的一个开源流处理平台,它被设计成一个分布式的、可分区的、复制的日志存储系统。它的主要功能包括发布和订阅消息,以及作为数据流处理平台,支持实时数据处理。 2. **版本...

    emq_plugin_kafka

    Kafka是一种分布式流处理平台,由LinkedIn开发并贡献给Apache软件基金会。Kafka可以作为一个高吞吐量、持久化的消息队列,用于构建实时数据管道和流应用程序。 3. **emq_plugin_kafka 插件**: 这个插件是EMQ X ...

Global site tag (gtag.js) - Google Analytics