英伟达DeepStream学习笔记30——kafka和AMQP的区别

作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强,

而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用。

RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。

kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。kafka和

mq的区别如下:

1.应用方案: RabbitMQ:在需要高可靠性的实时信息传输中使用。kafka主要应用在动态数据流和数据处理方面。

2.体系结构模型方面:RabbitMQ以代理为核心,具有消息确认机制。kafka没有消息的 consumer确认机制。

3.吞吐量:RabbitMQ的吞吐量低于kafka。 RabbitMQ提供可靠的消息传输,支持交易,不支持大量运算,根据存储的可靠性需求,可以使用存储器或者硬盘,

你可能感兴趣的:(英伟达TX2,/Xavier,/deepstream开发,kafka,学习,rabbitmq)