您当前的位置: 首页 >  kafka

凌云时刻

暂无认证

  • 0浏览

    0关注

    1437博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Kafka从上手到实践 - 庖丁解牛:Topic & Broker | 凌云时刻

凌云时刻 发布时间:2020-05-30 15:30:00 ,浏览量:0

凌云时刻 · 技术

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

作者 | 计缘

来源 | 凌云时刻(微信号:linuxpk)

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。他们的关系如下图所示:

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

总结

这一章节介绍了Topic和Broker的概念,Topic承载了Message的输入输出,相当于Kafka对外的窗户。Broker则负责Kafka内部核心的功能,比如Message持久化、如何保证Kafka高可用性等等。

在后续的章节里,会详细介绍它们的各种配置和用法。希望能给小伙伴们带来帮助。

END

往期精彩文章回顾

Kafka从上手到实践 - 庖丁解牛:Partition

Kafka从上手到实践 - 初步认知:MQ系统

进阶之路:深入解读 Java 堆外内存

干货:一文看懂Apache Ranger

吴翰清:有变革的需求,才有技术的诞生

云原生时代,消息中间件的演进路线

如何提升微服务的幸福感

OceanBase 连破纪录的背后,是技术人的砥砺前行

长按扫描二维码关注凌云时刻

每日收获前沿技术与科技洞见

关注
打赏
1663816507
查看更多评论
立即登录/注册

微信扫码登录

0.0531s