1. 背景分析
消息队列这个类型的组件一直是非常重要的组件,当经过两家企业后我就很坚信这个结论了。队列这种东西,最广泛的作用还是在于解耦,宽泛一点的说,它可以将不同部门的工作内容进行有效的整合,基于一个约定好的格式,就可以两头互相不干扰的进行开发。可以说这个生产消费的思想不仅仅适用于程序也适用于非常多的地方。
目前对于我看到的来说,Kafka更多的还是做为一个数据源,数据桥梁的作用,不同业务之间的沟通。比如需要实时接入A部门的业务数据的话,就会有这样的手段:
落地到HDFS的数据会用来进行一些算法上的离线处理,而Kafka端则是给需要实时性的消费方。其实数据的消费方式无非也就实时和离线两种方式。
2. Kafka和ActiveMQ对比
相比过去经常使用的ActiveMQ,Kafka确实非常的不同,做一个对比来深化印象
说到底,做为kafka的消费方,能感受到最大的不同还是在于几个:
1. 吞吐量确实非常高
2.可以重读历史数据
3.但是也有一些缺点:概念上比较复杂,相对于AMQ只需要知道ip和队列名你就能获得数据,Kafka使用起来非常繁琐