共计 1094 个字符,预计需要花费 3 分钟才能阅读完成。
这篇文章主要讲解了“KAFKA 架构设计中的主要角色是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“KAFKA 架构设计中的主要角色是什么”吧!
【Topic】
Topic,我们称之为主题。一句话概括它的作用:Topic 是我们进行生产 / 消费的宏观概念。
翻译一下:就是我们生产者在生产消息的时候,要指定某个 Topic;我们消费者在消费消息的时候,也要指定某些 Topic。
我们再细究一下上面的话,为什么说 Topic 是一个宏观的概念呢?
【Partition】
Partition,我们称之为分区。一句话概括它的作用:Partition 是我们进行生产 / 消费的真正实体。
翻译一下:就是我们生产者在生产消息的时候,实际上是写到了某个 Topic 的某个分区中;我们消费者在消费消息的时候,实际上也是消费的某个 Topic 的某些分区。
从上图,我们就可以明白一件事:Topic 是某一类消息的逻辑集合,内部包含一个个分区实体,我们生产消费的实际对象都是某个 Topic 的某个分区。
就像上图中的,【A-Topic-0】,这是什么意思呢,也就是【主题名称 - 分区编号】
主题名称呢,一般代表着这个 Topic 是用来存放什么类型的数据的,例如 Order-Topic,就是用来存放订单相关的数据的。
分区编号呢,就是我们在创建 Topic 的时候需要指定分区个数,上图中就有两个 Partition,然后分区的编号都是从 0 开始的,所以我们就能看到这样的一个表示。
【Replica】
Replica,我们称之为副本。一句话概括它的作用:Replica 是针对 Partition 进行数据冗余,以实现数据的的高可靠,还有整个服务的高可用 (这个后续章节细说)。
翻译一下:副本就是把某个分区的数据全量拷贝 N 份,然后分散到不同的机器上,这样就能防止某台机器宕机之后数据丢失的问题。
以上图为例,存在以下角色:
主题名称:A-Topic
分区数量:2
副本数量:3
上图就是一个 KAFKA 集群完整的角色模型概览图,我们最后一起统一概述一下上面的三个角色:
Topic 是一类消息的逻辑概念,而实际上进行生产消费的是 Topic 下的一个个分区,而每个分区会有一份份的数据冗余分在在集群不同 Broker 上,这些数据冗余,我们称之为 Replica(副本)。
感谢各位的阅读,以上就是“KAFKA 架构设计中的主要角色是什么”的内容了,经过本文的学习后,相信大家对 KAFKA 架构设计中的主要角色是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!