kafka

1.介绍

  kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中所有动作流数据。

  kafka的目的是通过Hadoop的并行加载机制来统一和离线的消息处理,也是为了通过集群来提供实时的消息。

  • 特性:
    • 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能保持长时间的稳定性能。
    • 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数百万的消息。
    • 支持通过kafka服务器和消费机集群来分区消息。
    • 支持Hadoop并行数据加载。
  • 相关术语  
    • Broker:kafka集群包含一个或多个服务器,这种服务器被称为broker。
    • Topic:每条发布到kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
    • Partition:Partition是物理上的概念,每个Topic包含一个或多个Partition。
    • Producer:负责发布消息到kafka broker。
    • Consumer:消息消费者,向kafka broker读取消息的客户端。
    • Consumer Group:每个Consumer属于一个特定的Consumer Group。(可为每个Consumer指定group name,若不指定group name则属于默认的group)
posted @ 2019-06-04 14:43  mia0812  阅读(116)  评论(0编辑  收藏  举报