KAFKA背景
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
由于jay kreps非常喜欢franz kafka,并且觉得kafka这个名字很酷,因此取了个和消息传递系统完全不相干的名称kafka,该名字并没有特别的含义。
基本概念
上图为Kafka的典型架构图,对于消息的生产以及消费逻辑不在本文的讨论范畴,主要就Broker的数据存储做以浅显的总结。首先解释一下常见的相关专业术语:
- Broker:消息中间件处理节点;每个Kafka服务节点称之为一个Broker,一个Kafka集群由一个或多个Broker组成
- Topic:一类特定数据集合的统称;可类比DB中Table的概念;逻辑概念
- Producer:消息的生产者,向Broker发送消息的客户端
- Consumer:消息的消费者,向Broker读取消息的客户端
- Consumer Group:每一个Consumer隶属于一个特定的Consumer
- Group,一条消息可以被不同Group中的Consumer消费,但同一Group内的消息只能被一个Consumer消费
- Partition:是对Topic中所包含数据集的物理分区;物理概念
- Replication:副本集;是Kafka高可用的一种保障机制
Offset Explorer工具介绍
Offset Explorer(即Kafka tool)是用于管理和使用Kafka群集的GUI应用程序。它提供了一个直观的UI,允许用户查看Kafka集群中的对象以及集群主题中存储的消息。官网地址:https://www.kafkatool.com/。