Google App Engine模块化项目结构

时间:2019-09-15 13:30:34

标签: google-app-engine google-cloud-platform

关于Google App Engine中的微服务架构的讨论很多。实际上,该文档似乎迫使开发人员倾向于在微服务中构建应用程序。一个项目的角度似乎是一个“单一的”混乱或组织良好的微服务项目。但是,debatable可能不是微服务在项目早期阶段的合适方法。

这么说,是否有推荐的方法以模块化方式构建AE项目的项目结构?假定我们要组织项目以包含以下特征:

  • 服务被组织为一个模块
  • 模块可以轻松访问共享资源(数据存储,任务队列,内存缓存)
  • 模块提供了自己的API
  • 模块可以测试
  • 模块符合会话/身份验证服务

我假定的解决方法如下:

project/
  app.yaml
  main.py
  requirements.txt
  libs/
  module1/
    datastore/
    endpoints/
    tests/
  module2/
    datastore/
    endpoints/
    tests/
  module3/
    datastore/
    endpoints/
    tests/
  auth_module/
    tests/
    endpoints/
  sessions_module/
    tests/
    endpoints/
  datastore_module/
    tests/
    endpoints/
  taskqueue_module/
    tests/
    endpoints/

1 个答案:

答案 0 :(得分:0)

您的组织可以工作。但是,建议您加强区分模块和库。身份验证,会话,数据存储,任务队列可由不同的微服务使用。将它们放在专用的子目录中,例如packages

关于早期阶段,我同意。从理论上讲,有1个微服务= 1个团队,一开始,团队没有人手编制或没有预算。但是,陷阱在于积累技术债务,并且分担巨额资金...经验是关键