关于Kafka

来源:互联网 发布:缺乏安全感怎么办知乎 编辑:程序博客网 时间:2024/06/15 23:41

一、kafka简介

     Kafka是一种高吞吐量的分布式发布订阅消息系统,可分区、可复制,它可以处理消费者规模的网站中的所有动作流数据,是Apache下的一个开源项目。

二、相关术语

  • 1.Broker
    Kafka集群包含一个或多个服务器,这种服务器被称为broker
  • 2.Topic
    每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
  • 3.Partition
    Partition是物理上的概念,每个Topic包含一个或多个Partition.
  • 4.Producer
    负责发布消息到Kafka broker
  • 5.Consumer
    消息消费者,向Kafka broker读取消息的客户端。
  • 6.Consumer Group
    每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。

三、特性

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

四、设计目标

1.高吞吐是核心设计之一;
2.数据磁盘持久化:消息不在内存中cache,直接写入到磁盘,充分利用磁盘的顺序读写性能;
3.减少IO操作步骤;
4.支持数据批量发送和拉取;
5.支持数据压缩;
6.Topic划分为多个partition,提高并行处理能力。



0 0
原创粉丝点击