擅长:python、mysql、java
<p>基于子域在应用程序中使用多租户是可能的,也是合理的,不过根据我的经验,您还应该允许使用url param重写命名空间。在</p>
<p>例如</p>
<pre><code>tenantB.mydomain.com/?tenant=tenantA => namespace=tenantA
</code></pre>
<p>这将使您的生活更加轻松,并使您能够在*上测试最新的appengine版本。appspot.com网站在将它们转移到生产环境之前(尤其是在计划SSL访问时)。在</p>
<p>一旦设置了名称空间,那么只有该名称空间下的实体才可用,您可以随时通过代码更改名称空间-范围无关紧要。
对于子域-您可以从客户端的一个请求头解析它。在</p>
<p>您可以将您想要的任何内容写入全局命名空间,并随时通过代码访问它。对于您描述的场景,您需要将用户活动保存在全局命名空间上。在</p>
<p>另外,在使用GAE团队的名称空间的python官方示例中可以看到一个例子。
<a href="https://github.com/GoogleCloudPlatform/appengine-guestbook-namespaces-python" rel="nofollow">https://github.com/GoogleCloudPlatform/appengine-guestbook-namespaces-python</a>
它为你提供了开始所需的一切。在</p>