GAE 即将上线新的定价模型。这个模型不完美,但是它带来了一些架构上的启发:
当你的程序要写入新数据的时候,为了能够以最环保的方式使用 GAE,你可能需要这样做:
1. 取出 memcache 中的 html 片段或是 serialized 的 object lists,然后将新对象的相关的 html 更改或者 serialized object 更改 append。
2. 写入 datastore(将来这部分应该就是一个 async api)。
3. 尽可能不要 memcache.delete 或是覆盖,而是 get,然后更新其中的部分内容,然后 set。
!!! 当用户使用的时候,直接读取 memcached 中的 rendered html 而不是取出一堆对象来交给 template 去 render。
如果以这种方式编程的话,你将可以从 GAE 中继续获得足够多的好处。但是:
* 这种编程方式可能不是大部分人的习惯(比如 async 数据写入),需要一段时间训练和适应。
* 你将会需要花非常多的时间思考关于如何取出并更改 memcached content 的那些操作,这是一种和目前的很多主流做法不一样的架构。
* 这样的方式开发新功能,一开始可能会有点慢。
这样做的话,即使是新的价格模型下,你在 free tier 依然可以支撑足够大的动态流量。
感谢 App Engine group 上的各位老外的热情回帖。
以上算是抛砖,希望能够和大家更多地讨论新价格模型下的挑战和启发。
cc @
keakon :)
Whatever, a new era started.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/20905
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.