1. 你的项目是自己做的还是找来的
这个项目是我在学校里的大学生创新创业大赛、别的院的学生要做一个电商平台。然后到我们大数据学院找人做,最终在我们院找了几个人做的这个项目。我负责了秒杀这个模块。
2. 你在项目中遇到的最大的问题是什么
问题一
在做异步化扣减库存模块的时候、因为要使用到rocketmq所以我要在我的linux服务器上安装配置rocketmq、根据网上一些安装配置博客进行安装配置,后来按照他们的安装配置步骤一步步的走安装配置好之后,但我在启动的时候他一直启动不起来。开始我一直怀疑是不是我的步骤走错了、又去重新安装了一遍但发现还是起不来。查了好久才发现原来他默认的堆内存大小是8G、但我的服务器也才2核1G的,所以我将他的大小调成128M之后就跑起来了、当时这个问题是卡的最久的。
3. 你认为项目还有哪些可以优化的
优化少卖问题
我的这个项目是采用下单时异步扣减库存解决了超卖问题、但是这样扣减库存的方式会出现少卖问题的、而解决少卖问题我们可以通过超时未付款自动取消订单然后回退库存。而这一方式我们可以通过消息的队列中延时消息来解决、就是下单时生产者生产一个消息,然后他会过一定的时间发送给消费者、然后消费者消费消息时会判断商品有没有付款、如果没有付款就强制取消订单再回退库存这样就解决少卖的问题。
4. 你为什么要把所有的服务部署在同一个服务器上
我做这个项目是为了一个学习的目的、所以我在做这个项目之前买了一个90多块钱的1核2G的服务器用来简单的模拟下。
5. 你的项目中是如何解决超卖问题的
我的项目中是通过下单时扣减库存解决超卖问题的、所以不存在下单之后付款时出现付款失败的情况的。
6. 你的项目是如何解决缓存与数据库同步问题的
我的项目中没有做后台模块、但大概知道可以在后台管理员修改某个商品信息之后自动将数据更新到缓存当中去。
7. 你的项目是如何保证库存数据最终一致性的
使用的是rocketmq的事务性消息来保证库存数据一致性的
(秒杀项目) 4.8 异步化扣减库存(核心)