1
zaykl 2010-04-26 20:16:55 +08:00
人多流量就马上超了。。
|
2
orlaa 2010-04-26 20:35:17 +08:00
如果已经不在乎墙了的话,国外一个便宜的VPS或者能让程序更加的“自由”,当然,看起来似乎没有部署在GAE上那么酷。
|
3
Livid MOD OP 当注册用户过万之后,需要面临的 scale out 问题,在 LAMP 上和在 GAE 上的难度是差不多的。
|
4
orlaa 2010-04-26 20:50:51 +08:00
对于GAE没有深入了解,没有过多的发言权,只是感觉一个让人愉悦的web应用它的内在也是需要自由的,而GAE给我的感觉太多条条框框了。
总之,加油! |
5
Livid MOD OP ^_^
我希望有一天这里能够有超过 10 万的用户,却依然很快很愉悦。 |
6
orlaa 2010-04-26 21:04:05 +08:00
^_^
假如这样,估计v2ex是第一个在GAE上有超10万用户的应用,Google到时是否会有政策倾斜呢?哈,我想多了。 |
7
number5 2010-04-26 21:15:01 +08:00
可以参考一下jaiku的实现,他们现在全部在GAE上了,http://code.google.com/p/jaikuengine/
|
8
darcy 2010-04-27 01:39:56 +08:00
jaiku都被Google废弃了
|
9
Kenyth 2010-04-27 13:49:01 +08:00
上一届Google IO会议有一个slides就是讲scalability的best practice的,你可以参考一下,结合 @number5 提到的jaiku的GAE实现一起看效果更佳:)
|
10
zack 2010-04-27 16:26:23 +08:00
这确实是个麻烦问题,GAE如果支持类似Cassandra的存储机制就比较好解决了。当然最主要的还是取决于功能设计上是否有需求。
|
11
Livid MOD OP 其实 Twitter 自己的做法也不是 SELECT IN(),而是为每个用户创建一个队列。然后当新的 status 发出来时,就将 status 的 ID 插入到 followers 的队列中,而 status 的正文是在一个 key-value 数据库中。
这种做法是可以在 GAE 上实现的。只是当 unfollow 的时候,清除队列中的数据貌似很头疼。 |
12
zack 2010-04-27 16:42:20 +08:00
@Livid 恩,确实是这样的。GAE并没有一个很好用的应对这种情景的存储API。
而Cassandra似乎比较适合这样的应用场景。 两篇参考的文章,问题的情景是基本一样的: http://about.digg.com/blog/looking-future-cassandra http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra/ |
13
xuming 2010-04-27 17:07:30 +08:00
使用query.ancestor,数据存放在同一个节点上,再加上一些必要的冗余或许可以
|
14
Los 2010-04-27 17:54:01 +08:00
redis 很适合这些场景,而且性能上也跟得上去。
|
16
vvoody 2010-05-02 19:56:37 +08:00
@Livid 如果已经跟随的用户发出tweets那么插入timeline队列没什么问题。但如果你新follow了一个人,他之前的tweets如何高效的插入timeline队列就是个问题了
|
17
Tigris10 2010-08-21 20:36:19 +08:00
可以运行在vps上吗?要怎么配置呢
|
18
jorakura 2010-12-13 15:06:38 +08:00
有同样的需求,也考虑类似的做法。 #11 @livid提到的做法。
有Twitter的实现的具体ref么? 和#15 @vvoody 说的一样,插入 timeline 和 unfo 的时候的删除都会是大规模的批量操作。只能用taskqueue做,但是性能还不确定。 这里有一个即时的性能参考 http://gaejava.appspot.com/ |
19
keakon 2010-12-13 15:45:07 +08:00
用一个model专门保存每个用户的公开时间线(实际上就是topic id),然后memcache它们
取的时候直接用memcache.get_multi()来获取 如果其中有些为None,再去数据库里取公开时间线 详细的想法可以参考这篇: http://www.keakon.net/2010/04/26/Twitter%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E4%BD%BF%E7%94%A8NoSQL%EF%BC%9F |
20
vvoody 2010-12-13 17:13:03 +08:00
|