Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Node.js的事件系统与Akka的actor模式有何不同?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经使用Node.js了一段时间,并认为自己很好用的Java。但我刚刚发现了Akka,并立即对它的演员模式感兴趣(从我的理解)。

现在,假设我的JavaScript技能与我的Scala / Java技能相当,我想要专注于任一系统的实用性。特别是在web服务方面。

我的理解是,Node在处理许多并发操作方面表现优异。我想象一个好的节点Web服务的资产管理系统将处理许多用户同时提交更改(在一个大的,大流量应用程序)。

但是,在阅读Akka的演员后,它的接缝,它会在同一件事。我喜欢把工作减少到一口小块的想法。另外,几年前我在Erlang中学习,爱上了它使用的消息传递系统。

我在处理复杂的业务逻辑的许多应用程序,我想是时候跳到更重的一个或另一个。特别是升级传统的Struts和C#应用程序。

无论如何,避免圣战,这两个系统是如何根本不同?似乎两者都面向同一个目标。也许Akka的“自我修复”架构有优势。

编辑

它看起来像我得到接近的投票。请不要把这个问题作为“哪个更好,节点还是akka?”。我正在寻找的事件驱动库,如基于节点和基于actor的像Akka的根本区别。

解决方法

没有进入细节(我知道在Node.js的情况下太少),主要的区别是Node.js只支持并发而不支持并行性,而Akka支持两者。这两个系统都是完全事件驱动的,可以扩展到大的工作负载,但是缺乏并行性使得在Node.js中很难(即并行性通过启动多个节点并相应地分派请求来显式编码;因此在运行时是不灵活的) ,而它是相当容易在Akka由于其可调的多线程执行器。给定小的孤立工作单元(actor invocations),Akka将自动并行执行。

一个重要的区别是,Akka包括一个结构化方式处理失败的系统(通过让每个actor由其父代监督,这是强制性的),而Node.js依赖于作者将错误状况从回调传递到回调的约定。潜在的问题是异步系统不能使用基于同步堆栈的系统所使用的异常的标准方法,因为“调用代码将在回调的错误发生时移动到不同的任务。将故障处理构建到系统中使得在该系统上构建的应用更可能是鲁棒的。

以上并不意味着详尽无遗,我相信还有很多差异。

大佬总结

以上是大佬教程为你收集整理的Node.js的事件系统与Akka的actor模式有何不同?全部内容,希望文章能够帮你解决Node.js的事件系统与Akka的actor模式有何不同?所遇到的程序开发问题。

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

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