设计秒杀

一、 秒杀系统架构设计

秒杀系统设计也是一个比较常见的问题了。一般可以分几个方面作答。

首先,前端限制访问时间,以及同一IP的访问次数。

然后,第一层的服务做负载均衡,比如使用nginx,然后服务器做集群。

接着,可以用消息队列做削峰和限流,然后做一层缓存,最后只有少量请求到达数据库。

面试官问nginx怎么做高可用,前一层能不能再做负载均衡,我回答的是nginx也做集群,前一层可以用硬件负载均衡或者dns服务器做第一层负载均衡。

另外面试官还问了如果有ddos攻击怎么办,我刚好想到通过人机验证来避免大量肉鸡的攻击,于是就说了验证码的方式,面试官也说可以。

二、设计秒杀系统,开放题

设计类似淘宝的秒杀系统,三个小题

a.如何实现大规模用户同时秒杀而系统能快速响应而不瘫痪

b.如需实现该秒杀功能,建立一个秒杀系统,请简述该系统的功能模块组成,画出各模块的关系图。

c.请用三种同步方法完成秒杀方法的开发,输入为商品N个,用户N个,需定义一个秒杀类,一个商品类,一个用户类

三、秒杀系统实现参考

https://blog.csdn.net/CSDN_Terence/article/details/77744042

猜你喜欢

转载自blog.csdn.net/NIUBILISI/article/details/89890762