Kafka介绍
Kafka是一个分布式的、分区的、多副本的消息发布-订阅系统,它提供了类似于JMS的特性,但在设计上完全不同,它具有消息持久化、高吞吐、分布式、多客户端支持、实时等特性,适用于离线和在线的消息消费,如常规的消息收集、网站活性采集、聚合统计系统运营数据(监测数据)、日志收集等大量数据的互联网服务的数据收集场景。
Kafka测试过程:
。
图1 测试流程

主题是发布记录的类别或订阅源名称。Kafka的主题总是多用户。也就是说,一个主题可以有零个、一个或多个消费者订阅写入它的数据。
对于每个主题,Kafka群集都维护一个分区日志,如下图2所示。
每个分区都是一个有序的、不可变的记录序列,不断附加到结构化的提交日志中。分区中的记录每个都被分配一个称为偏移的顺序ID号,它唯一地标识分区中的每个记录。
一般来说,为了能够让磁盘性能达到最大,partitions的数目总数需要大于磁盘数目,这样可以让每个磁盘至少拥有1个partition,否则该盘可能未被利用。
Kafka集群持久地保留所有已发布的记录,无论它们是否已被消耗, 都可以使用可配置的保留期。例如,如果保留策略设置为两天,则在发布记录后的两天内,它可供使用,之后将被丢弃以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此长时间存储数据不是问题。
父主题: 调优概述