运行一个googleappengine实例,前端用nodejs,后端服务器用python

2024-06-25 23:44:21 发布

您现在位置:Python中文网/ 问答频道 /正文

GCP和GAE、nodejs、python和网络(我知道)让我的脚湿了。在

[+]我拥有的

基本上,我有一些nodejs代码,它接受一些输入,然后将这些输入发送到一些python代码中,这些代码将对它执行更多的操作。我的第一个想法是通过GAE部署nodejs代码,然后在python服务器中托管python代码,然后从nodejs前端向python服务器后端发出post请求。在

[+]我想做的事:

只需将我的nodejs代码和python代码部署在同一个项目和GAE实例中,这样nodejs就是人们看到的前端,而且python服务器也运行在同一个环境中,只需与nodejs通信而不必在线发送任何内容。在

[+]我读到的

https://www.netguru.co/blog/use-node-js-backend

Google App Engine - Front and Backend Web Development

和无数其他谷歌搜索这种类型的设置,但没有结果。 如果有人能为我指出正确的方向,我将非常感激。在


Tags: 项目实例代码https网络服务器内容环境
1条回答
网友
1楼 · 发布于 2024-06-25 23:44:21

不能让python和nodejs在同一个实例中运行,但它们可以作为单独的服务运行,每个服务在同一个GAE应用程序/项目中都有自己的实例。见Service isolation也许{a2}

使用post请求可以很好地工作,但是可能需要一些努力来确保没有外部访问。在

由于您打算将nodejs服务用作前端,因此只能对其使用flexible environment,这限制了服务间的通信选项—您不能使用push queues(仅在standard environment中得到正确支持),因此比起post请求,这是一个更好/更安全的解决方案。在

另一个安全通信选项是nodejs服务将数据放入数据存储中,并让python服务从那里获取数据-数据存储由同一个GAE应用内的所有实例/版本/服务共享。另外,更松散耦合的IMHO-每个服务都可以在另一个不存在的情况下(至少在一段时间内)运行(如果使用post请求则不可能)。在

可能有兴趣:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment

更新:

在节点.JS当前在标准环境中也可用,因此您可以使用这些功能,请参见:

相关问题 更多 >