在Google Cloud上托管web抓取后端和React前端



web scraper是Node.js和Osmosis,用于填充Cloud SQL数据库。它将每天运行一次,收集几MB的数据。

前端将是Node.js/Express/Rect.

在谷歌云中,这些应该是单独的项目,还是只是一个项目上的不同实例?应用引擎还是计算引擎?

对于初学者来说:如果可能的话,最好将其全部包含在一个项目中,而不是将其全部覆盖在一个工程中。

如果您想在VM实例中托管所有内容,请分析您需要多少资源,因为您可能属于免费使用层。还有一种可能性是使用可抢占实例,这种实例更便宜,但可以由计算引擎终止。

在计算引擎中运行应用程序的好处是,如果你已经准备好了代码,你可以按原样运行代码。请记住,你只会为虚拟机的运行时间收费,但会为其磁盘收费。

如果你想使用App Engine,标准环境中确实有一个免费层,你的应用程序可以缩减到0个实例,所以如果没有流量,你就不会被收费,但请记住,目前标准环境处于测试版,只支持最新版本的Node.js 8。在Flexible环境中,没有免费的层,你总是需要至少一个实例,但你可以自定义你使用的机器类型,运行时映像,你可以使用任何版本的Node.js。

正如其他用户所提到的,您可以使用单片架构,也可以使用分为多个服务的架构。这部分由您决定,但一般建议您遵循。

对于云SQL,实例运行的每分钟,存储和出口连接都要向您收费。有一些实例类型比其他实例类型便宜,如db-f1-micro,但这种选择将取决于您的场景。然后,您可以配置如何从应用程序引擎或计算引擎连接到您的实例。

由于您的使用量很小,每天只使用一次,因此不需要在谷歌云平台上托管专用实例,因为即使不使用也会向您收费。使用应用程序引擎,该引擎根据服务使用情况收费。

制作一个单独的谷歌项目,同时托管后端和前端代码。您可以将它们作为单个服务(Monolith Architecture(托管在一起,也可以通过将它们部署为微服务来保持服务的隔离。App Engine在一个项目中支持多个微服务。你可以在这里阅读