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。


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

查看所有标签

猜你喜欢:

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

游戏编程模式

游戏编程模式

Robert Nystrom / GPP翻组 / 人民邮电出版社 / 2016-9-1 / 61.4

游戏开发一直是热门的领域,掌握良好的游戏编程模式是开发人员的应备技能。本书细致地讲解了游戏开发需要用到的各种编程模式,并提供了丰富的示例。 全书共分20章,通过三大部分内容全面介绍了与游戏编程模式相关的各类知识点。首部分介绍了基础知识和框架;第二部分深入探索设计模式,并介绍了模式与游戏开发之间的关联;第三部分介绍了13种有效的游戏设计模式。 本书提供了丰富的代码示例,通过理论和代码示例......一起来看看 《游戏编程模式》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具