2012-08-28 50 views

回答

1

請記住,任何App Engine應用程序可能在許多數據中心的許多不同計算機上運行許多副本。如果您可以將文件寫入文件系統,則必須在所有正在運行的實例以及從此刻創建的每個新實例中一致地複製該文件。

您可以使用blobstore(如Bugs指出的那樣,它可以在不打擾您的應用程序的情況下自行提供文件),數據存儲與memcache(通常足夠快)結合使用,Google的Cloud Storage(與亞馬遜的S3,也可以自己提供文件),甚至可以通過http訪問外部服務(如S3)。

您可以在一個字符串上生成XML文件並進行存儲。當有人擊中你的/myfile.xml時,你所需要做的就是將它讀回(從你存儲的任何地方)並提供。

+0

因此谷歌使用分佈式架構來存儲網絡應用程序?你是什​​麼意思_「你可以在一個字符串上生成XML文件並存儲它。」_ – saplingPro

+0

App Engine是非常*分佈式的。 您可以使用StringIO(http://docs.python.org/library/stringio.html)並將類似文件的對象傳遞給您的XML生成器,並在完成時提取內容並存儲它任何地方,但一個文件 – rbanffy

相關問題