相关疑难解决方法(0)

如何决定何时使用Node.js?

我对这种东西不熟悉,但最近我听到很多关于Node.js有多好的东西.考虑到我一般喜欢使用jQuery和JavaScript,我不禁想知道如何决定何时使用Node.js. 我想到的Web应用程序就像Bitly一样- 获取一些内容,将其归档.

从我过去几天所做的所有作业中,我获得了以下信息.Node.js的

  • 是一个命令行工具,可以作为常规Web服务器运行,并让一个人运行JavaScript程序
  • 利用伟大的V8 JavaScript引擎
  • 当你需要同时做几件事时,这是非常好的
  • 是基于事件的所以所有美妙的Ajax类似的东西都可以在服务器端完成
  • 让我们在浏览器和后端之间共享代码
  • 让我们与MySQL交谈

我遇到的一些消息来源是:

考虑到Node.js几乎可以在亚马逊的EC2实例上运行,我试图了解哪些类型的问题需要Node.js,而不是任何强大的国王,如PHP,PythonRuby.我知道这实际上取决于人们对语言的专业知识,但我的问题更多地涉及一般类别:何时使用特定框架以及它特别适合哪种类型的问题?

javascript web-applications node.js

2198
推荐指数
15
解决办法
51万
查看次数

Heroku 平台扩展指南

我正在免费的Dyno上运行一个基于 NodeJS 的应用程序,连接到 mongohq-MongoDB 。我想将其迁移到使用业余爱好Dyno,这样做的动机不仅是避免睡眠时间,而且是为了实现更高的 HTTP 流量吞吐量。

阅读Scaling文档和Procfile文章让我对如何在 Heroku 上进行扩展感到困惑。

Procfile文章中,据说Web进程类型是唯一将从 Heroku 路由网格接收 HTTP 流量的进程。

所以我的问题是:

  1. 当已经有一个爱好Dyno 正在运行时,执行“heroku ps:scale web+2”将导致同一 Dyno 上有 +2 个 Web 进程,或者添加两个爱好Dyno(总共三个爱好Dyno)?
    • 总共三个爱好Dynos 意味着 3 个 Web 进程和 27 个非 Web 进程可用?
  2. 这个答案中,建议使用cluster模块来分叉线程来处理 HTTP 请求,如何确定应该创建的工作线程数(在循环中// fork worker processes)?
  3. 我应该如何决定何时水平扩展我的应用程序(添加更多相同类型的 Dyno)或垂直扩展(更强的 Dyno,如标准 1X/2X)
    • 应该触发水平缩放来处理更多的请求?
    • 应触发垂直缩放以处理较繁重的处理(需要更多计算资源来响应相应的请求?)

注意,

这个答案的“缩放”部分中,Dynos 的结果对于上面的问题 …

architecture deployment scalability heroku

4
推荐指数
1
解决办法
1259
查看次数