我正在尝试制作简单的应用程序并将其部署在Google Cloud Platform Flexible App Engine上,该应用程序将包含两个主要部分:
最初我计划将它们作为一个应用程序,但我认为潜在的大量后台处理可能会导致我的前端应用程序部分失败+ App Engine文档说部署的服务行为类似于微服务架构。
我的问题是:
答案 0 :(得分:1)
您提出的体系结构听起来像是将两者分成不同服务的正确方法,原因如下:
可以调整每项服务的机器类型和内存分配,以更好地满足其需求。如果您在后端执行内存密集型工作,则可以调整该服务的设置以为每个实例分配更多内存。
允许每种类型的服务根据需求独立扩展,从而更好地利用服务并减少浪费。与单一整体服务中的单一尺寸适用方法相比,这也应该降低您的总体支出。
您可以跨服务混合不同的运行时环境。例如,您可以在项目中混合语言运行时,或者甚至可以在标准和灵活环境之间进行混合。假设您的前端代码在标准中更具成本效益,将该服务指定为标准环境服务,将您的后端指定为灵活的环境服务。或者说你需要一个带有Perl的客户docker文件,你可以将它作为一个灵活的环境自定义运行时来实现,并在Java 8中使用你的前端。
您仍然可以在内存缓存中共享Cloud SQL,PubSub,Cloud Tasks(目前处于alpha)或Redis等常用服务。您的作品不需要驻留在App Engine中,如果更适合您的需求,它们可以驻留在不同的产品中。
总的来说,您可以更好地控制应用程序以将其拆分。最大的好处可能取决于优化您的应用程序,仅根据您的需求进行支出。
答案 1 :(得分:-1)