谈谈对秒杀、竞拍系统的设计

大家来谈一谈对秒杀(如淘宝限时秒杀)和竞价(如一次出价、不限时、竟得价格越低,获得的收入比越高)系统的设计。
要从哪些方面考虑入手?比如系统架构、业务设计、注意点(比如如何处理突然急剧上升的请求负载)、推荐解决方案等。。

对于秒杀类系统。可以考虑如下几点:
1、数据读写分析,因为用户访问量会爆棚,如果不分离,数据库将会成为一个致命的单点。
2、快速缓存的应用,一定要将验证码等信息,用类似memcached这样的中间件进行缓存,达到客户请求的快速返回。
3、关闭一些非关键性功能,比如查商家地图、账户信息等。这些功能在秒杀的时候先关闭,因为这些功能通常都是非常耗费系统资源的。要有取舍。
4、系统压力实时监控及过载保护,为避免系统雪崩情况发生,要设定预警阈值,当触发后,以友好的拒绝方式将大量的请求重定向到指定页面。
5、客户端进行控制,如果是app类应用,加强客户端的一些规则的使用,比如控制不能重复提交请求,以减少对服务端压力。
6、cdn技术的使用,将静态的请求分散到cdn节点上去,避免对服务端的大压力。

以上这些是我比较容易想到的地方,供你参考。