kafka同一个group 消费两个topic吗_大白话带你认识Kafka

本文以大白话介绍Kafka,强调Kafka作为分布式消息系统的作用和设计原理。讨论了Topic、Partition、Replica、Producer、Consumer、Consumer Group等核心概念,解释了Kafka如何通过分区实现高性能,以及消费者组如何允许并行消费而不互相干扰。重点解析了Kafka的消费策略,特别是同一个消费者组内如何避免消费同一个消息。
摘要由CSDN通过智能技术生成

大白话带你认识Kafka

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

Kafka基础

消息系统的作用

应该大部份小伙伴都清楚,用机油装箱举个例子。

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

679398cc98bd8ed65be08f2d55fcfa91.png

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

6b7b6dbae5e359a665a50b6aefaf3c29.png

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

Topic 主题

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

c2d9e303670651ad6ab105b020f73f0c.png

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

Partition 分区

kafka还有一个概念叫Partition(分区),分区具体在服务器上面表现起初就是一个目录,一个主题下面有多个分区,这些分区会存储到不同的服务器上面,或者说,其实就是在不同的主机上建了不同的目录。这些分区主要的信息就存在了.log文件里面。跟数据库里面的分区差不多,是为了提高性能。

13cb8b898844617e022cdb21c30f984d.png

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

Topic和partition像是HBASE里的table和region的概念,table只是一个逻辑上的概念,真正存储数据的是region,这些region会分布式地存储在各个服务器上面,对应于Kafka,也是一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值