Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 谷歌应用引擎模块化项目结构_Google App Engine_Google Cloud Platform - Fatal编程技术网

Google app engine 谷歌应用引擎模块化项目结构

Google app engine 谷歌应用引擎模块化项目结构,google-app-engine,google-cloud-platform,Google App Engine,Google Cloud Platform,关于谷歌应用程序引擎中的微服务架构有很多讨论。事实上,文档似乎迫使开发人员倾向于在微服务中构建应用程序。一个项目的前景似乎要么是“整体式”混乱,要么是组织良好的微服务项目。然而,在项目的早期阶段,微服务可能不是合适的方法 鉴于此,是否有一种以模块化方式构建AE项目的推荐项目结构方法?假设我们希望组织的项目包括以下特征: 服务被组织为一个模块 模块可以轻松访问共享资源(数据存储、任务队列、memcache) 模块提供自己的API 模块可以进行测试 模块符合会话/身份验证服务 我假设的解决方案如

关于谷歌应用程序引擎中的微服务架构有很多讨论。事实上,文档似乎迫使开发人员倾向于在微服务中构建应用程序。一个项目的前景似乎要么是“整体式”混乱,要么是组织良好的微服务项目。然而,在项目的早期阶段,微服务可能不是合适的方法

鉴于此,是否有一种以模块化方式构建AE项目的推荐项目结构方法?假设我们希望组织的项目包括以下特征:

  • 服务被组织为一个模块
  • 模块可以轻松访问共享资源(数据存储、任务队列、memcache)
  • 模块提供自己的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/

你的组织可以运作。但是,在中,建议您更好地区分模块和库。不同的微服务可以使用身份验证、会话、数据存储、任务队列。将它们放在一个专用的子目录中,如
packages


关于早期阶段,我同意。理论上,1个微服务=1个团队,在一开始,团队没有人员或预算不存在。然而,陷阱在于积累技术债务,而分裂成一个巨大的整体。。。体验是关键

烧瓶蓝图提供了一种很好的方法,可以像这样分解您的web应用程序。