Kafka从上手到实践-庖丁解牛:Topic&Broker

栏目: 服务器 · Apache · 发布时间: 5年前

内容简介:Apache Kafka正是上节描述的MQ系统,但不仅是MQ系统,它往往也被描述为在Kafka中,Topic可以理解为表示一组特殊的数据流。可以将它想象为关系性数据库中的表。一个Kafka的Server就称之为Broker,可以每台物理服务器上只部署一个Broker,可以将多个Broker部署在一台物理服务器上。本身Broker这个单词的意思是中间代理的意思。Broker负责接收Producer发送的消息、对消息进行持久化、让Consumer获取消息。

Apache Kafka正是上节描述的MQ系统,但不仅是MQ系统,它往往也被描述为 分布式提交日志系统 或者 分布式流式处理系统 。从这节开始,我们将逐步了解Kafka的核心概念。

Topic

在Kafka中,Topic可以理解为表示一组特殊的数据流。可以将它想象为关系性数据库中的表。

  • 数据库中的表存储着同一类的数据。那么Topic同样表示同一类的数据流。
  • 数据库中的表可以根据需求创建多张。那么Topic同样可以根据需求创建多个,但有一点区别是,Topic没有像数据库表中约束(Constraints)的概念。
  • 数据库中表的名称是不能重复的,表名能唯一确定一张表。那么Topic同样是以名称确定唯一的,Topic名称不能重复。

Broker

一个Kafka的Server就称之为Broker,可以每台物理服务器上只部署一个Broker,可以将多个Broker部署在一台物理服务器上。本身Broker这个单词的意思是中间代理的意思。Broker负责接收Producer发送的消息、对消息进行持久化、让Consumer获取消息。

关于Broker,我们需要注意以下几点概念:

  • Kafka集群就是由多个Broker组成的。
  • 每个Broker都有一个整数类型的唯一标识ID。
  • 当我们连接到任意一个Broker后,我们就已经连接到了整个Kafka集群。我们连接的第一个Broker称之为Bootstrap Broker。
  • 通常,最小的Kafka集群最好有三个Broker。

我们来看看Broker、Topic、Partition(后续章节会介绍)之间的关系。假设有Broker 101、Broker 102、Broker 103三个Broker。Topic-A、Topic-B两个Topic,这两个Topic分别有三个Partition和两个Partition。他们的关系如下图所示:

Kafka从上手到实践-庖丁解牛:Topic&Broker

可以看到,Topic的Partition在Kafka集群中是随机分配给Broker的。也就是说Topic-A的数据会分别被持久化在这三个Broker中,而Topic-B的数据只会持久化在Broker 101和Broker 102中。如果Topic-A再加一个Partition 4,则它会随机被分配给任意一个Broker。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux Device Drivers

Linux Device Drivers

Jonathan Corbet、Alessandro Rubini、Greg Kroah-Hartman / O'Reilly Media / 2005-2-17 / USD 39.95

Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas ......一起来看看 《Linux Device Drivers》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具