第十二天-项目总结

1. 面试中的问题回答

1.1. 淘淘网站并发数:

1000-2000左右并发。

1.2. 人员配置

产品经理:3人,确定需求以及给出产品原型图。

项目经理:1人,项目管理。

前端团队:5人,根据产品经理给出的原型制作静态页面。

后端团队:20人,实现产品功能。

测试团队:5人,测试所有的功能。

运维团队:3人,项目的发布以及维护。

1.3. 开发周期

采用迭代开发的方式进行,一般一次迭代的周期为一个月左右。

1.4. 你说你用了redis缓存,你redis存的是什么格式的数据,是怎么存的

redis中存储的都是key-value格式的。拿商品数据来说,key就是商品id,value是商品相关信息的json数据。

1.5. 你前台portal采用4台服务器集群部署,那能前台高并发访问性能提上去了,那数据库会不会造成一个瓶颈,这一块你是怎么处理的?

portal系统在高并发的情况下如果每次请求都请求都查询数据库确实会出现数据库的瓶颈。为了降低数据库压力,在服务层会添加一个缓存,用redis实现,这样的话请求先到缓存中查找是否有缓存的内容,如果有直接从缓存中取数据,如果没有再到数据库中查询。这样数据库的压力就不会那么大了。

1.6. 你购物车存cookie里边 可以实现不登录就可以使用购物车 那么我现在没有登录把商品存购物车了 然后登录了 然后我换台电脑并且登录了还能不能看见我购物车的信息?如果看不到怎么做到cookie同步,就是在另外一台电脑上可以看到购物车信息

回答:

淘淘商城现阶段使用的仅仅是把购物车的商品写入cookie中,这样服务端基本上么有存储的压力。但是弊端就是用户更换电脑后购物车不能同步。打算下一步这么实现:当用户没有登录时向购物车添加商品是添加到cookie中,当用户登录后购物车的信息是存储在redis中的并且是跟用户id向关联的,此时你更换电脑后使用同一账号登录购物车的信息就会展示出来。

1.7. 如果用户一直添加购物车添加商品怎么办?并且他添加一次你查询一次数据库?互联网上用户那么多,这样会对数据库造成很大压力你怎么办?

当前我们使用cookie的方式来保存购物车的数据,所以当用户往购物车中添加商品时,并不对数据库进行操作。将来把购物车商品放入redis中,redis是可以持久化的可以永久保存,此时就算是频繁的往购物车中添加数据也没用什么问题。

2. 电商活动解决方案

2.1. 电商活动倒计时方案:

1、确定一个基准时间。可以使用一个sql语句从数据库中取出一个当前时间。SELECT NOW();

2、活动开始的时间是固定的。

3、使用活动开始时间-基准时间可以计算出一个秒为单位的数值。

4、在redis中设置一个key(活动开始标识)。设置key的过期时间为第三步计算出来的时间。

5、展示页面的时候取出key的有效时间。Ttl命令。使用js倒计时。

6、一旦活动开始的key失效,说明活动开始。

7、需要在活动的逻辑中,先判断活动是否开始。

2.2. 秒杀方案:

1、把商品的数量放到redis中。

2、秒杀时使用decr命令对商品数量减一。如果不是负数说明抢到。

3、一旦返回数值是负数说明商品已售完。

Guess you like

Origin blog.csdn.net/weixin_46267445/article/details/118265674
Recommended