zoukankan      html  css  js  c++  java
  • 分布式发布订阅消息系统

    kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性:

    • 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
    • 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。
    • 支持通过kafka服务器和消费机集群来分区消息。
    • 支持Hadoop并行数据加载。

    卡夫卡的目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。

    Apache Kafka is a distributed publish-subscribe messaging system

    Apache Kafka is a distributed publish-subscribe messaging system. It is designed to support the following

    • Persistent messaging with O(1) disk structures that provide constant time performance even with many TB of stored messages.
    • High-throughput: even with very modest hardware Kafka can support hundreds of thousands of messages per second.
    • Explicit support for partitioning messages over Kafka servers and distributing consumption over a cluster of consumer machines while maintaining per-partition ordering semantics.
    • Support for parallel data load into Hadoop.

    Kafka provides a publish-subscribe solution that can handle all activity stream data and processing on a consumer-scale web site. This kind of activity (page views, searches, and other user actions) are a key ingredient in many of the social feature on the modern web. This data is typically handled by "logging" and ad hoc log aggregation solutions due to the throughput requirements. This kind of ad hoc solution is a viable solution to providing logging data to an offline analysis system like Hadoop, but is very limiting for building real-time processing. Kafka aims to unify offline and online processing by providing a mechanism for parallel load into Hadoop as well as the ability to partition real-time consumption over a cluster of machines.

    The use for activity stream processing makes Kafka comparable to Facebook's Scribe or Apache Flume(incubating), though the architecture and primitives are very different for these systems and make Kafka more comparable to a traditional messaging system. See our design page for more details.

    Apache Kafka is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

    http://incubator.apache.org/kafka/

  • 相关阅读:
    第九章
    第十章
    第八章
    第七章
    第六章
    第五章
    第四章
    第三章
    第二章
    第一章
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2791030.html
Copyright © 2011-2022 走看看