Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 节点JS工作人员 – 他们需要什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原谅我的无知,但是从Django / Python背景出发,我可以看到,在Web界面尽可能快地更新的同时,让Celery队列在后台进程缓慢的过程中可以获得巨大的收益.

但是,使用Node异步工作,队列系统的用例是否大大减少?

例如:

1 – 用户向网站发帖,
2 – 网站回应,然后邮寄给管理员.

在Django中,您将发送管理员邮件一个任务,稍后执行,然后响应该请求.芹菜在后台发送邮件.

在节点中,您呼叫您的邮件,然后响应请求.然后,邮件程序发送一个回叫来表示DONE,此时用户已经在查看响应.

那么为什么要用Node来排队呢?我猜这个事情比这更复杂 – 似乎对于诸如交易邮件这样的微不足道的事情来说,这是没有必要的.

还是我误会它是如何工作的?

解决方法

你是对的,连续性在节点上是相当不错的,如果你在单个节点进程中运行所有的东西,就不需要立即需要一个队列.
然而,由于节点是单线程的,因此当忙碌发送该电子邮件或处理该任务(如果是cpu密集型任务)时,节点将无法处理任何新的传入请求.

因此,如果您的任务需要一段时间来处理cpu,则可能仍然值得使用外部队列和单独的进程来处理这些任务/消息.
如果您的任务是io密集型的,并且需要一段时间,因为他们正在等待来自其他服务器的响应,那么随着节点处理io而需要再次.

如果您有一个cpu密集型任务,但是您不想部署队列,您可以创建更多的节点进程和计算机实例并在其间进行负载平衡,所有这些都可以处理这些任务.这种方法的缺点是您无法分开扩展网站和后台处理. (例如处理Web请求的5个实例和2个工作实例)

大佬总结

以上是大佬教程为你收集整理的node.js – 节点JS工作人员 – 他们需要什么?全部内容,希望文章能够帮你解决node.js – 节点JS工作人员 – 他们需要什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: