kakfa是用于构建实时数据管道和流应用程序。具有横向扩展,容错,wicked fast(变态快)等优点。Apache kafka是消息中间件的一种。
举个例子,生产者生产鸡蛋,消费者消费鸡蛋。生产者生产一个鸡蛋,消费者就消费一个鸡蛋。假设消费者在消费鸡蛋的时候噎住了(系统当机了),生产者还在生产鸡蛋,那么新生产的鸡蛋就丢失了。再例如生产者大量生产鸡蛋(大交易量的情况),消费者来不及消费鸡蛋(消息堵塞,最懂导致系统超时),消费者拒绝在消费鸡蛋,鸡蛋再次丢失。但如果我们用一个篮子保存生产者生产的鸡蛋,消费者去篮子里拿鸡蛋,这样鸡蛋就不会丢失,都在篮子里面,而这个篮子就是消息中间件(kafka),当篮子满了,我们多加几个篮子就可以了,这就是kafka的扩容,而“鸡蛋”就算通过tcp、http等传输的“消息”。
我们一定要学会抽象思考,不仅便于理解也便于记忆,编程是与生活息息相关的。上面只是属于业务的角度,从技术角度来看,topic标签其实就是队列,生产者把所有“鸡蛋(消息)”都放到对应的队列里面,消费者到指定的队列里面去取
刚学习一门新技术的时候,我们不必关注它的具体实现是什么。就像学骑自行车一样,先学着怎么骑,骑着骑着就了解了大致的原理,这个时候再去看它的原理,就会很轻松。
注意事项:不要下成源文件
带src
的是源文件,如:
Source download: kafka-2.2.1-src.tgz (asc, sha512)
应该下的是,官方推荐下载scala 2.12版本的:
Scala 2.12 - kafka_2.12-2.2.1.tgz (asc, sha512)
作者:半兽人
链接:https://www.orchome.com/kafka/index
来源:OrcHome
说明:除非有特殊说明,否则该系列均出自此处