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
和无数其他谷歌搜索这种类型的设置,但没有结果。 如果有人能为我指出正确的方向,我将非常感激。在
不能让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当前在标准环境中也可用,因此您可以使用这些功能,请参见:
相关问题 更多 >
编程相关推荐