加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

面试问Kafka,这一篇全搞定

发布时间:2019-11-30 06:01:55 所属栏目:Windows 来源:站长网
导读:副标题#e# 应大部分的小伙伴的要求,今天这篇咱们用大白话带你认识 Kafka。 图片来自 Pexels Kafka 基础 消息系统的作用 大部分小伙伴应该都清楚,这里用机油装箱举个例子: 所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的
副标题[/!--empirenews.page--]

应大部分的小伙伴的要求,今天这篇咱们用大白话带你认识 Kafka。

面试问Kafka,这一篇全搞定

图片来自 Pexels

Kafka 基础

消息系统的作用

大部分小伙伴应该都清楚,这里用机油装箱举个例子:

面试问Kafka,这一篇全搞定

所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用。

引入一个场景,我们知道中国移动,中国联通,中国电信的日志处理,是交给外包去做大数据分析的,假设现在它们的日志都交给了你做的系统去做用户画像分析。

面试问Kafka,这一篇全搞定

按照刚刚前面提到的消息系统的作用,我们知道了消息系统其实就是一个模拟缓存,且仅仅是起到了缓存的作用而并不是真正的缓存,数据仍然是存储在磁盘上面而不是内存。

Topic 主题

Kafka 学习了数据库里面的设计,在里面设计了 Topic(主题),这个东西类似于关系型数据库的表:

面试问Kafka,这一篇全搞定

此时我需要获取中国移动的数据,那就直接监听 TopicA 即可。

Partition 分区

Kafka 还有一个概念叫 Partition(分区),分区具体在服务器上面表现起初就是一个目录。

一个主题下面有多个分区,这些分区会存储到不同的服务器上面,或者说,其实就是在不同的主机上建了不同的目录。

这些分区主要的信息就存在了 .log 文件里面。跟数据库里面的分区差不多,是为了提高性能。

面试问Kafka,这一篇全搞定

至于为什么提高了性能,很简单,多个分区多个线程,多个线程并行处理肯定会比单线程好得多。

Topic 和 Partition 像是 HBase 里的 Table 和 Region 的概念,Table 只是一个逻辑上的概念,真正存储数据的是 Region。

这些 Region 会分布式地存储在各个服务器上面,对应于 Kafka,也是一样,Topic 也是逻辑概念,而 Partition 就是分布式存储单元。

这个设计是保证了海量数据处理的基础。我们可以对比一下,如果 HDFS 没有 Block 的设计,一个 100T 的文件也只能单独放在一个服务器上面,那就直接占满整个服务器了,引入 Block 后,大文件可以分散存储在不同的服务器上。

注意:

分区会有单点故障问题,所以我们会为每个分区设置副本数。

分区的编号是从 0 开始的。

Producer 生产者

往消息系统里面发送数据的就是生产者:

面试问Kafka,这一篇全搞定

Consumer 消费者

从 Kafka 里读取数据的就是消费者:

面试问Kafka,这一篇全搞定

Message 消息

Kafka 里面的我们处理的数据叫做消息。

Kafka 的集群架构

创建一个 TopicA 的主题,3 个分区分别存储在不同的服务器,也就是 Broker 下面。

Topic 是一个逻辑上的概念,并不能直接在图中把 Topic 的相关单元画出:

面试问Kafka,这一篇全搞定

需要注意:Kafka 在 0.8 版本以前是没有副本机制的,所以在面对服务器宕机的突发情况时会丢失数据,所以尽量避免使用这个版本之前的 Kafka。

Replica 副本

Kafka 中的 Partition 为了保证数据安全,所以每个 Partition 可以设置多个副本。

此时我们对分区 0,1,2 分别设置 3 个副本(其实设置两个副本是比较合适的):

面试问Kafka,这一篇全搞定

而且其实每个副本都是有角色之分的,它们会选取一个副本作为 Leader,而其余的作为 Follower。

我们的生产者在发送数据的时候,是直接发送到 Leader Partition 里面,然后 Follower Partition 会去 Leader 那里自行同步数据,消费者消费数据的时候,也是从 Leader 那去消费数据的。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读