云端软件项目会用到多种环境。这些环境通常使用 dev
、qa
、staging
、prod
等名称。必须确保这些环境相互之间完全隔离,并且通常使用完全不同的操作员访问权限。例如,开发团队可能对 dev
环境具有完整访问权限,但对 prod
环境仅具有部分访问权限,且所有代码部署仅通过自动化脚本执行。此外,确保不同环境中的数据相互隔离也至关重要。
要满足上述要求很简单,只需使用多个 Google Cloud 项目即可,您可以将代码和数据存放在不同的项目中以确保它们之间完全隔离,而且还可以单独管理每个项目中的操作员权限。由于 App Engine 可以自动扩缩其服务实例,因此您只需要为您使用的部分付费。例如,如果您每四周中只有一周需要模拟环境,则无需支付任何服务实例在剩下三周内产生的费用。但请注意,如果您有数据存储在这些项目中,则需要支付这部分费用。
命名环境
如果您选择仅使用多项服务来创建微服务应用,则可以为每个环境创建一个 Google Cloud 项目,并相应地为其命名,例如 web-app-dev
、web-app-qa
、web-app-prod
。
或者,如果您选择使用多个项目创建微服务应用,也可以在环境之间实现同样的隔离,但需要使用更多项目,例如 web-app-dev
、web-app-prod
、user-service-dev
、user-service-prod
。您将需要使用代码模式来确保 dev
项目仅调用其他 dev
项目,而 prod
项目仅调用其他 prod
项目。
后续步骤
- 大致了解 App Engine 的微服务架构。
- 了解可以采用哪些最佳做法来设计用于在微服务之间进行通信的 API。
- 了解提高微服务性能的最佳做法。
- 了解如何将现有的单体式应用迁移到一个具有多项微服务的应用。