Google app engine 如何在Google app Engine和Google Cloud SQL上正确设置多租户应用程序
GoogleAppEngine通过使用名称空间在多租户应用程序中运行良好。然而,当您使用云SQL作为数据持久性机制时,您开始遇到问题。具体来说,如何将不同的数据库连接到每个名称空间。目前,整个应用程序正在使用的数据库都是在实例配置上设置的,因此我可以推测,它在部署中几乎是硬编码的 我确实意识到,多租户应用程序背后的确切体系结构因业务需要而不同(或者,如果要有效地扩展,至少应该如此),但是,我很乐意使用一些通用解决方案,专门解决使用Google Cloud SQL构建多租户应用程序的问题 我试图避免使用基于多租户的列(除非有人能解释为什么它的本质是云sql,而不必担心所有东西都在一个单一数据库中)。理想的场景imho是让一个应用程序使用名称空间api连接到不同的数据库(所有数据库共享相同的模式),并使用某种机制跨所有数据库租户同步列表数据 我们还有其他想法:Google app engine 如何在Google app Engine和Google Cloud SQL上正确设置多租户应用程序,google-app-engine,multi-tenant,google-cloud-sql,Google App Engine,Multi Tenant,Google Cloud Sql,GoogleAppEngine通过使用名称空间在多租户应用程序中运行良好。然而,当您使用云SQL作为数据持久性机制时,您开始遇到问题。具体来说,如何将不同的数据库连接到每个名称空间。目前,整个应用程序正在使用的数据库都是在实例配置上设置的,因此我可以推测,它在部署中几乎是硬编码的 我确实意识到,多租户应用程序背后的确切体系结构因业务需要而不同(或者,如果要有效地扩展,至少应该如此),但是,我很乐意使用一些通用解决方案,专门解决使用Google Cloud SQL构建多租户应用程序的问题 我试图避
最后,您可能会问为什么要使用SQL。唯一的原因是多个应用程序能够同时从中读写数据,这是数据存储不允许的。这应该不是问题。 应用程序使用的数据库可以在JDBC连接URL中指定,因此可以在运行时为每个应用程序定义:
c=DriverManager.getConnection(“jdbc:google:rdbms://my_instance/my_database"); 您是否担心,如果您使用多租户列解决方案,您将获得潜在的数据泄漏?这是萨班斯-奥克斯利法案还是HIPAA法案的问题?既不是SOX也不是医疗保健(这一次,哈哈)。这实际上是我们扩展时的性能和潜在的数据泄漏的结合,因为我们的客户竞争激烈,需要隔离的保证。请问您最终是如何解决这一问题的?我目前正在开发类似的产品,非常感谢您的经验:-)