kafka vs rabbitmq
来源:1-1 导学
朱小瑜MTL
2017-12-18
瓦力老师 你好,看了你的的免费的ELASTICSEARCH课程,很喜欢;于是果断地购买了这门实战课程。 想向你请教一个问题,在企业的实际应用中,什么场景Kafka更有优势,什么场景rabbitmq更加适合?
写回答
1回答
-
首先,非常感谢这位同学对瓦力这边的肯定哈,这也是瓦力不断前进不断深耕自己的前进动力。
另外,对于你提出的问题,我这里从他们的实现原理上进行一个简单的对比。
Kafka是分布式高可用的消息订阅中间件,它是基于磁盘优化的一种消息中心处理系统,内部是采用批量处理的机制,数据的存储和获取都是基于磁盘顺序批量操作,而且具有O(1)的复杂度,消息处理的效率很高;而RabbitMQ是基于内存实现的AMQP消息队列处理系统,并且支持事务,拥有可靠性传输的特性。
说了这些,很多同学一下子估计感觉更难抉择选择哪个消息系统了。其实选择起来还是比较简单的,如果你处理消息的场景,不允许数据重复处理,不允许有脏数据,那么你就选择RabbitMQ;如果你处理的是大量的数据,比如流式计算、大数据量的离线计算,你就选择Kafka,不要怀疑,RabbitMQ虽然是内存模型,但从吞吐量考量的话,还是比不过Kafka的;还有一种情况,就是像课程中示例的,我只是用来做消息传递的,实现一个异步的机制,那么,你熟悉谁,就用谁^_^。希望我的回答可以帮助到你,祝亲学习愉快~
112017-12-18
相似问题