IT行业的新贵如今花落大数据家,不论是各个行业对于大数据的追捧,还是转型者纷纷入行,都在表明大数据是一个时代发展的趋势。对于大数据不断的了解,我们不难发现kafka说扮演的角色越来越重要,那么对于kafka的概念以及如何学习你都了解吗?
首先,我们简单的了解下kafka的特点及其概念
kafka是用于构建实时数据管道和流应用程序。具有横向扩展,容错,wicked fast(变态快)等优点,并已在成千上万家公司运行,尤其是一些大企业,纷纷利用kafka来促进自身大数据的建设,对于kafka的概念可以简单的解释为消息中间件的一种,至于什么是中间件,我们可以举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失了。再比如生产者很强劲(大交易量的情况),生产者1秒钟生产100个鸡蛋,消费者1秒钟只能吃50个鸡蛋,那要不了一会,消费者就吃不消了(消息堵塞,最终导致系统超时),消费者拒绝再吃了,”鸡蛋“又丢失了,这个时候我们放个篮子在它们中间,生产出来的鸡蛋都放到篮子里,消费者去篮子里拿鸡蛋,这样鸡蛋就不会丢失了,都在篮子里,而这个篮子就是“kafka”,也就是中间节。鸡蛋其实就是“数据流”,系统之间的交互都是通过“数据流”来传输的(就是tcp、http什么的),也称为报文,也叫“消息”。消息队列满了,其实就是篮子满了,”鸡蛋“ 放不下了,那赶紧多放几个篮子,其实就是kafka的扩容,kafka就是成为了一个中间件。
其次,为什么Kafka这么流行
最主要的原因是Kafka具有极佳的性能表现。它非常稳定,能提供稳定的持久化,具有灵活的订阅-发布消息队列,可与N个消费者群组进行良好扩展,具有强大的复制功能,为生产者提供可调整的一致性保证,并在碎片级别提供保留排序(即Kafka主题分区)。其次,Kafka可以很好地兼容需要数据流处理的系统,并将这些系统融合、转换并加载到其他存储。另外,Kafka操作(配置和使用)都非常简单,而且Kafka的工作原理也很好理解。当然了,如果Kafka处理数据很慢,有再多其他优点都是没有意义的,所以,“多快好省”就是Kafka的最大优势。
最后,我们来了解如何学习kafka
其实,与学习其他IT技能一样,先理解概念,在进行实操,最为主要的就是需要掌握以下几个点:
1、kafka节点之间如何复制备份的?
2、kafka消息是否会丢失?为什么?
3、kafka最合理的配置是什么?
![](/qrcode.jpg)
4、kafka的leader选举机制是什么?
5、kafka对硬件的配置有什么要求?
6、kafka的消息保证有几种方式?
当然,kafka的知识并不仅仅只有这些,此处只是简单的为大家罗列一下比较重要的点,求学者,还应该在实践中去深刻的掌握大数据的相关知识点。
大数据越来越火热,学习大数据开发的人也越来越多,而面对着大数据相对驳杂的知识点,求学者一定要静下心来,一步步、按部就班的教学学习,这样,才能够真正的掌握大数据,成为该行业的大牛。
本文转自:海牛学院