kafka是apache的一个优秀的开源消息系统,如果您已经是kafka方面的高手,那么这篇博客可能并不适合您。本篇博客简单介绍一下kafka的分布式原理,作为kafka的入门。
首先,还是介绍一下kafka。在kafka的官网上,对kafka的定义叫做A distributed publish-subscribe messaging system。听起来有些高大上了哈,叫做“一个分布式发布-订阅消息传递系统”,其中的publish-subscribe是发布和订阅的意思。所以准确的来说,kafka是一个消息订阅和发布的系统。这个不是我说的,我也没有这么专业和权威,是看一本叫做“kafka系列文档”的PDF里面说的,里面讲得不错,有兴趣的可以看看。
首先,还是介绍一下kafka。在kafka的官网上,对kafka的定义叫做A distributed publish-subscribe messaging system。听起来有些高大上了哈,叫做“一个分布式发布-订阅消息传递系统”,其中的publish-subscribe是发布和订阅的意思。所以准确的来说,kafka是一个消息订阅和发布的系统。这个不是我说的,我也没有这么专业和权威,是看一本叫做“kafka系列文档”的PDF里面说的,里面讲得不错,有兴趣的可以看看。
回头咱们继续说kafka,kafka作为一个分布式发布-订阅消息传递系统,它的模式特别像设计模式中的观察者模式(虽然我没有请教相关大牛来验证我刚刚说的正确与否,暂且认为我说的是对的),又有点像PV操作。还是回到kafka的发布-订阅模式上来说,有人将消息发布比作生产者,消息订阅比作消费者,中间需要一个交互中心,我们称为存储阵列,或者官方一些我们称为代理(broker),这样我们就能勾画出这样一幅场景: