kafka初始、架构模型、角色功能梳理

Posted by Steven on 2021-06-03
Estimated Reading Time 1 Minutes
Words 454 In Total
Viewed Times

引入

Kafka是一个消息队列,消息中间件,用于解藕、削峰、异步等

特征:分布式、可靠的、可扩展的、高性能的

分而治之AKF

联系在Redis中说的到AKF

X轴: 解决单点故障问题,高可用,对应在kafka上,就是做副本,可以有独写分离(容易出现一致性问题,因此只能在主上进行读写)

Y轴: 解决容量有限问题(按照业务划分),对应在Kafka上,就是topic,按照业务进行划分成不同的partition

Z轴:

无关的数据分散到不同的分区里,以追求并发并行

有关的数据,一定要按照原有的顺利发送到同一个分区里

分区内部是有序的,分区外部是无序的

image-20210615001227159

kafka的broker的partition,保存了 producer发送来的数据,重点是“数据”。怎么去用,可以重复利用

在单一的使用场景下,先要保证,即便追求性能,用多个consumer,应该注意,不能一个分区由多个consumer消费

数据的重复利用是站在Group上的,但是group内要保障上述描述

分区:桶

消息

如果没有顺序上的约束的话:水平扩展

消息V

一但消息(消息很多,但是消息种类一定多),而且需要同一类消息的有序性

消息是K,V,相同的key一定去到一个分区里

broker会保证producer同送的消息的顺序

一个分区可能有不同的key,且不同的key是交叉的,相同的key在一个分区里没有排列在一起

image-20210615135637958

拉取v.s推送

1,推送说的是server,主动去推送,网卡打满。。。

2,拉取,consumer,自主,按需,去订阅拉取server的数据


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !