Articles of 事件驱动

RabbitMQ和Sails.js

我在使用我的Sails应用程序时遇到了麻烦。 我不确定在哪里放置用户代码。 我想要做的是构build一个通知系统,以便当pipe理员批准用户的数据请求时,用户的仪表板将popup类似于Facebookpopup通知的通知。 问题是,将用户代码放在我的仪表板控制器的显示path中似乎永远不会获取发布的消息。 任何build议将不胜感激。 目前使用rabbit.js包连接到RabbitMQ。

node.js在web开发环境中适合哪里?

我知道node.js被认为是在V8 Javascript引擎上托pipe的“事件驱动I / O”服务器端JavaScript。 我访问了node.js网站,然后阅读维基百科条目,但无法完全了解在哪里使用它,以及它将如何有用。 “事件驱动IO”? “V8 Javascript引擎”? 在某些情况下,我看到使用“服务器端”JavaScript是一个小小的矫枉过正..我拿这个代码在wiki.js的维基百科条目 : var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(8000); console.log('Server running at http://127.0.0.1:8000/'); 我一直在想,在运行一个服务器,特别是在应用程序的前端部分执行特定的JavaScript文件是否真的有一个重要的目的? 我还分叉了github中的node.js repo来学习更多关于它是如何工作的,事实certificate它的一些模块是用C ++编写的。 那么它毕竟不是一个JavaScript? 有人能给我一个清楚的解释吗? 对不起,如果问题不明确或什么的,我只是一个初学者。 将欣赏任何input/build议。 谢谢

什么时候线程框架比事件驱动的框架更好? (也就是说,什么时候rails比node.js好?)

我明白什么是线程框架(Rails,Django,Symfony2,…)。 我明白事件驱动的框架是什么(Node.js,EventMachine,Twisted,…)以及为什么它对于生活,聊天,速度,…而言是好的。另外,它们似乎不会给正常用例带来问题。 所以: 事件驱动框架的缺点是什么? 我应该什么时候更喜欢Rails的Node.js? 为什么不是所有使用EventMachine,Twisted或Node.js编写的新Web服务器? 像Django或Rails这样的着名框架会变成事件驱动还是死亡?

Nodejs中是否有像django admin一样的模块?

我正在search像Django的pipe理面板,为什么nodejs没有一个? 你能否给我们提供一个链接,以反馈使用这类pipe理员的本友。 需要nodejs吗?

事件驱动和基于线程的服务器系统有什么区别?

Node.js是一个事件驱动的I / O,它是一个单线程的服务器,对callback起作用,永远不会阻塞主线程。 但是它是如何处理非阻塞I / O的呢? 如果它确实容易pipe理,为什么不基于线程的系统pipe理呢? 不像其他线程(在单个事件驱动线程之后)像基于线程的工作? 如果其他线程表示工作者(在事件驱动线程后面)忙碌,那么它仍然可以不受阻塞地处理工作? 基于线程的模型将任务分配给线程,如果没有空闲线程,则阻止新任务。 如果一个线程可以像处理每个I / O而没有阻塞的事件驱动的单线程一样处理多个任务,那么为什么基于线程的系统在忙线程中不使用这种策略来阻塞I / O。 我想知道事件驱动和基于线程的服务器系统有什么区别( 优点/缺点 )。

Node.js的事件驱动有什么不同? 我们不能在ASP.Net的HttpAsyncHandler中做到这一点吗?

我在networking编程方面并不是很有经验,而且我也没有在Node.js中编写任何代码,只是对事件驱动的方法感到好奇。 这看起来不错。 文章解释了当我们使用基于线程的方法来处理请求时可能发生的一些不好的事情,而应该select事件驱动的方法。 在基于线程的情况下,收银员/线程与我们卡在一起,直到我们的食物/资源准备就绪。 在事件驱动的情况下,收银员将我们发送到请求队列的某个地方,所以我们在等待我们的食物时不会阻止其他请求。 要扩展基于线程的阻塞,您需要增加线程的数量。 对我来说,这似乎是不正确地使用线程/线程池的一个不好的借口。 不能正确处理使用IHttpAsyncHandler? ASP.Net接收一个请求,使用ThreadPool并运行处理程序(BeginProcessRequest),然后在里面我们用一个callback加载文件/数据库。 该线程应该可以自由处理其他请求。 一旦完成文件读取,ThreadPool就会被再次调用并执行剩余的响应。 对我来说不是那么不同,为什么这不是可扩展的? 我所知道的基于线程的一个缺点是,使用线程需要更多的内存。 但只有这些,你才能享受到多核的好处。 我怀疑Node.js根本没有使用任何线程/内核。 所以,基于事件驱动和基于线程的(不要带“因为它是Javascript和每个浏览器…”的说法),有人可以指出使用Node.js的实际好处,而不是现有的技术? 这是一个长期的问题。 谢谢 :)