在中国运行一个appengine应用程序?

时间:2016-02-22 11:58:05

标签: python mysql django google-app-engine migration

我有一个appengine app我很满意,并将其本地化为多个国家/地区和语言。现在我想把它本地化为中国和香港,但我相信这些区域阻止了引擎,这样谷歌就无法使用了。那么在中国推出我的应用程序的最佳开发计划是什么?我是否应该更改为不同的后端(django + mysql?)并将其部署到某个香港或中国的托管或者是否有更简单的方法?我使用gae blobstore,gae模型,gae搜索API,memcache,gnu gettext,jinja2和gae邮件API(但没有计算引擎)。因此,我能想到的最好方法是将后端迁移到可以运行的东西,然后从中国和香港进行访问。或者有更好的方法吗?

4 个答案:

答案 0 :(得分:3)

有几种不同的选择:

如果您计划为中国部署单独的本地化版本(使用单独的数据集),您可以使用AppScale并在中国公共云中运行(Aliyun很容易上手)用)。这确保了您在中国的用户可访问性,但这意味着此部署将作为一个独立的,针对中国的部署。

如果您想让全球用户(包括中国/香港用户)访问具有共享后端的单个应用,您可以:

  1. 将应用程序保留在GAE中并使用反向代理(例如CloudFlare) 绕过防火墙问题
  2. 使用AppScale在不同的公共云中运行应用程序(未修改),例如EC2
  3. 重写应用
  4. 根据我的经验,如果性能不是至关重要的话,反向代理工作只是一种可行的解决方案。对于像KoolBusiness这样面向用户的Web应用程序,它可能会在延迟方面带来一些挑战。但是我为AppScale工作,所以我与之交谈的大多数用户都在探索除反向代理之外的其他选项。

答案 1 :(得分:1)

代理您的网站比迁移到其他主机更容易。您可以尝试使用CloudFlare。

答案 2 :(得分:0)

一个可能更简单的选项就是将应用映射到自定义域,请参阅https://stackoverflow.com/a/19093384/4495081

我看到使用了http://www.greatfirewallofchina.org工具检查了您的应用,并且报告全部为绿色:

http://www.greatfirewallofchina.org/index.php?siteurl=http%3A%2F%2Fwww.koolbusiness.com

答案 3 :(得分:0)

根据您的预算,有不同的解决方案:

1-在香港托管您的服务器。联系托管平台并告知他们您需要在中国提供数据,他们将能够在最快的数据中心(与中国大陆连接速度最快的数据中心)上托管您的数据。不会是最快的选择,但它将是最便宜的选择。

2-使用AWS或Microsoft Azure(中国境外)等公共云提供商及其各自的CDN。大多数云提供商都在香港设有终端,您将能够获得可接受的频段。将具有成本效益。

3-使用中国云提供商,如AliCloud(中国分支机构,非国际分支机构),AWS China或Azure China。为此,您需要建立一家中国公司,如果您有公开内容,则可能需要获得ICP许可(https://en.wikipedia.org/wiki/ICP_license)。如果您决定长期在中国运营,这是最好的选择。

4-使用您自己的后端并添加专业CDN,例如Akamai,他们有一个名为China CDN的选项,可以帮助您通过防火墙(每月预算+/- 10k $)。将是非常昂贵的。