引入
Kafka
是一个消息队列,消息中间件,用于解藕、削峰、异步等
特征:分布式、可靠的、可扩展的、高性能的
分而治之AKF
:
联系在Redis中说的到AKF
X轴: 解决单点故障问题,高可用,对应在kafka上,就是做副本,可以有独写分离(容易出现一致性问题,因此只能在主上进行读写)
Y轴: 解决容量有限问题(按照业务划分),对应在Kafka
上,就是topic
,按照业务进行划分成不同的partition
Z轴:
无关的数据分散到不同的分区里,以追求并发并行
有关的数据,一定要按照原有的顺利发送到同一个分区里
分区内部是有序的,分区外部是无序的
kafka的broker的partition,保存了 producer发送来的数据,重点是“数据”。怎么去用,可以重复利用
在单一的使用场景下,先要保证,即便追求性能,用多个consumer,应该注意,不能一个分区由多个consumer消费
数据的重复利用是站在Group上的,但是group内要保障上述描述
分区:桶
消息
如果没有顺序上的约束的话:水平扩展
消息V
一但消息(消息很多,但是消息种类一定多),而且需要同一类消息的有序性
消息是K,V,相同的key一定去到一个分区里
broker会保证producer同送的消息的顺序
一个分区可能有不同的key,且不同的key是交叉的,相同的key在一个分区里没有排列在一起
拉取v.s推送
1,推送说的是server,主动去推送,网卡打满。。。
2,拉取,consumer,自主,按需,去订阅拉取server的数据
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !