【发布时间】:2015-07-12 08:05:22
【问题描述】:
我目前正在构建一个将使用 node.js 进行基本路由的 Web 应用程序。该应用程序的某些部分对处理器的要求更高,我想对这些部分使用 golang。但是,我不确定在两种语言之间安装和通信的最佳方式。我正在使用 Amazon Elastic Beanstalk 进行初始测试,因此任何细节都可以针对该平台。
本质上归结为以下两个问题:
1) 如何在 Amazon EC2 上同时安装 node.js 和 golang docker 镜像?亚马逊有一个或另一个指南,但不是两者都有。
2) 将处理器密集型任务从 node.js 卸载到 golang 代码库的最佳方法是什么(我可以对 RPC 进行映像,或者只是在某个 localhost 端口上运行 golang,但我对这种类型的东西不熟悉)? golang 任务可能是诸如严重的数字运算或复杂的图形搜索之类的事情。
感谢您的指导。
【问题讨论】:
-
为什么不让 Go 也做路由并简化您的设计?
-
如果你打算使用两种不同的语言,在前面使用 nginx 之类的东西来代理每个服务的请求会容易得多。这也将处理基本路由,因此没有流量必须去 golang 或节点并被路由到另一个。
-
好的,在 EC2 上使用默认 node.js 设置,已经使用了 nginx,所以我可以使用它来将某些请求发送到不同的端口(node.js 在一个端口上侦听,golang 在另一个端口上侦听) .但是,还有其他选择吗,例如,如果我想直接从 node.js 调用到 golang?
-
@Not_a_Golfer,如果是我的选择,我会在 Go 中做所有事情,但是 node.js 只是更快地开始一些事情,我想选择卸载这些处理器密集型任务随着时间的推移。
标签: node.js amazon-web-services web-applications amazon-ec2 go