【发布时间】:2016-07-12 14:51:30
【问题描述】:
这是交易,我想使用 Google App Engine,因为它易于使用且可扩展性很重要,由于 google 基础设施可扩展性,我决定尝试使用 Amazon Web Service,这需要相当长的时间学习和部署。但我对在 Google App 引擎上使用 node.js 毫无疑问。例如
1) 我是否需要在每个 node.js 服务器上手动进行集群或 App 引擎会自行完成? (提高每台服务器的性能)
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
// Workers can share any TCP connection
// In this case it is an HTTP server
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
}
2) 我需要关心多个 node.js 服务器上的负载平衡吗?
3) 我是否需要反向代理网络服务器,以便它可以更快地为静态文件提供服务? (众所周知,node.js 不能很好地为静态文件提供服务)
4) 如何在 App 引擎上运行 redis?
5) 我是否需要使用 Channel API 或 Socket API 来使我的 node.js 应用程序成为实时的? (这个应用有一个简单的实时更新、推送通知、用户之间的聊天)
6) 从长远来看,App Engine 还是 EC2 更便宜?
我知道我问了很多问题,但这些都是我自己努力澄清的问题。希望有更好经验的人能给我解释一下。
问候, 杰克·莫斯科维
【问题讨论】:
-
这属于服务器故障而不是堆栈溢出。
-
好的,谢谢你告诉我。
-
是的没问题:)
标签: node.js google-app-engine amazon-ec2 google-cloud-platform