在没有符号链接的情况下跨服务重用数据存储模型

时间:2018-03-06 17:11:26

标签: python google-app-engine google-cloud-datastore

如果App Engine服务A和服务B都依赖于数据存储模型,是否有一种有效的方法在两个服务之间共享该模型而无需复制模型或符号化文件模型类定义的声明?

希望听到任何人对此的体验。也许将共享依赖项存储在云存储中并从那里提取相关文件?

1 个答案:

答案 0 :(得分:2)

不是一个真正的答案,只是一些考虑因素。

如果使用GCS存储共享模型,我会发现一些困难:

  • 在您的应用代码中导入模型会稍微复杂一些,您需要使用GCS库来读取文件以进行动态导入,因为它们在本地文件系统中不可用。作为动态导入的副作用,您可能会在IDE中失去一些开发功能(如自动完成,对象结构验证等)保留它们可能是可能的,但可能并非无足轻重。

  • 在模型文件中拆分模型定义(例如,部分重用,继承和/或模型间引用)不是一项简单的任务。除了应用程序代码之外,还需要在模型文件中解决上述问题。

  • 在GAE上部署应用程序代码,GCP上的模型将始终是非原子的,需要特别注意协调部署,并且可能需要向后/向前兼容性来最小化/消除瞬态故障。

恕我直言,符号链接将是一种更简单的方法。