最近两天都在想我那个模拟炒股应用的最后一个棘手问题,就是如何处理用户的下单的问题。

问题:
假设有10000个用户,平均每个用户在每个交易日下单3次,那待交易列表就有30000条数据了。股票交易是实时的,所以待交易列表也得实时处理,所以问题就是如何实时处理这30000条数据呢?

困难:
1、GAE不支持线程,我没法起一个定时器在后台运行,也不能多线程在后台发起多个request,这条路想都不要想。
2、GAE查询返回数据集有1000条的上限。如果有多于1000条记录,需要多次查询以获得所有记录。
3、GAE要求http request 在很短的时间内必须返回,否则request 会超时。如果有很多数据,request handler不能在一个请求中处理完所有数据。

策略:
1、写读取查询时,避免使用OFFSET(它不适合大数据集)而是使用WHERE语句量限制返回的数据数量。
2、脑海中的各种查询处理策略,也没有人跟我讨论,我只能待实践检验了。。