【开源】消息队列对比

场景

嵌入式智能设备上做一些简单的异步处理,例如缩略图生成等

主要技术栈是golang 和python

消息队列对比

NSQRedisNats StreamingmosquittoRabbitMQ
开发语言GoCGo/RubyerlangC,C++
通信协议///MQTTAMQP
吞吐量1万+8万+10万+1万+10万+
消息持久化支持支持支持支持支持
多语言支持支持支持支持C支持
镜像大小较小较小较小较小较大
资源使用较高

看到docker hub 上面提示 Nats Streaming 项目已被弃用(不会及时更新,但可用),如果要用持久化功能,需要使用Nats-JetStream

Redis:

优点 :简单轻量,除了可以用发布订阅模式作为消息队列外,还可以用作高速缓存

缺点:在某些极端情况下有可能导致数据丢失,比如队列消息积压过多会丢弃,以及redis本身宕机,虽然有AOF来持久化,但是默认是每秒异步写,所以极端情况下还是有可能会丢失数据。

MQTT协议的mosquito主要应用于IoT领域,是标准MQTT协议的实现,但是好像目前只支持C语言进行开发,但受限于开发语言较少,所以暂不考虑。

在该场景下,个人更倾向于使用redis 或者 nsq 来作为消息队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jaeger1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值