使用nodejs的话,还需要消息队列吗

这要看你的业务场景了,你对消息队列的需求点是什么?时序性?一致性?持久化?当然你可以用node来开发一套消息队列,或者简单的利用node的事件机制来充当满足你场景的业务调度平台。完全看你所需要的消息队列的功能了~另外,如果让node处理海量的消息调度的话,个人感觉这对目前的node来说可能有些吃力,毕竟它的优势主要体现在非CPU密集型的一些任务上~
■网友
在微服务流行的当下,消息队列主要是用于服务解耦。
将不需要立即获取结果的请求,投递到消息队列中,由消息队列来保证其他服务执行该消息。
而消息的投递方就能继续干自己的活了。

例如:下单成功后,发送邮件通知,就是个典型的可以用消息队列来解耦的服务。
因为发送邮件通知的重要性并不高,有延时也是完全能接受的事情。所以下单完成时,将消息投递到消息队列中,之后订单服务就结束了。剩下的就是消息队列通知邮件系统,让它发送邮件。
实现服务解耦。

■网友
我的答案是要。消息队列还有个很重要的作用是服务解耦。
■网友
是的,NodeJS 对数据库更新10000+数据,毫无压力
■网友
nodejs是一种语言,而消息队列是一种具有特定功能的服务或者模块,其实两者并不矛盾。可以用nodejs来实现消息队列,不过是否合适,
1要看你的业务场景,业务模块复杂度等来定是直接用nodejs写的服务就能满足需求还是需要用专业的消息队列来解耦业务;
2.看消息量,并发性等,node的优势在于IO处理,并且作为解释型语言,不适合把内存当缓存,缓存量大时,会因为gc影响性能;所以这个时候还是会考虑把消息都丢给mq来专门处理;
【使用nodejs的话,还需要消息队列吗】 3.看从业人员的背景与水平,有些人redis、kafka很熟练,可是不会node,再去学node反而会增加成本,不合适了


    推荐阅读