天天看点

1.1 Kafka概述之基本概念

1.简介

kafka是apache公司开发的一款分布式发布-订阅消息系统。其主要有两个特点,一是快速,每秒可以生产25万条消息(50MB),处理55万条数据(110MB)。二是持久化存储数据,并可以在集群中复制,防止数据丢失。

2.术语

(1).主题(Topic)

一组消息的归纳。一个kafka集群中可以创建多个主题,以主题为单位来管理消息,主题之间互相隔离,互不影响。

(2).分区(Partition)

主题中还可以划分出多个分区,以分区为单位对主题中的数据进行存储和备份,消息的实际存储单位。

(3).分段(Segment)

分区内会被划分为多个大小相等的segment,segment中log文件用来存放数据分段,index用来存放索引信息。

(4).消息(Message)

由一个key,一个value和时间戳构成。

(5).序号(Offset)

分区中每个消息都有的一个连续的序列号,用来唯一标识消息。

(6).生产者(Producer)

发布消息的对象。

(7).消费者(Consumer)

订阅消息并处理消息的对象。

(8).集群(Cluster)

已发布的消息保存在一组服务器中,称之为kafka集群。集群中的每一个服务器都是一个代理(broker)。消费者可以订阅一个或多个主题(topic),并从broker拉数据,从而消费这些已发布的消息。

(9).副本(Replication)

每个分区都可以有多个副本,存储在不同服务器中,共同处理请求提升性能,保证了kafka的容错能力。多个副本中会有一个leader和多个follower,follower只对外提供读能力。

3.核心API

(1).Admin API

允许管理和检测topic、broker以及其他kafka对象。

(2).Producer API

发布消息到一个或者多个topic。

继续阅读