python - 使用 Nodejs 中的前端和 Python 中的后端服务器运行 Google App Engine 的一个实例

标签 python node.js google-app-engine frontend backend

我正在接触 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也许Deploying different languages services to the same Application [Google App Engine]

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

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

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

也许感兴趣:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment

更新:

Node.JS 目前也在标准环境中可用,因此您可以使用这些功能,请参阅:

关于python - 使用 Nodejs 中的前端和 Python 中的后端服务器运行 Google App Engine 的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280880/

相关文章:

python - 如何在 OpenCV/python 上更改轮廓颜色

javascript - 无法读取node.js中未定义的属性 'date'

node.js - Sequelize.js - 保留具有关联的模型

java - Maven + JSF 2 + 谷歌应用引擎 : 404 error

google-app-engine - 在 Google AppEngine app.yaml 中上传有什么作用?

java - 无法将实体从 Android 应用程序保存到 Google App Engine 后端

python - 为什么在回归正则化时跳过 theta0?

python - 并行获取文件

python - 如何使用Python(Windows)获取所有IP地址?

javascript - 开 Jest : running tests with coverage in pre-commit-hook exits with 1 if no coverage was found