一直在聊项目,根据项目出场景题,奈何我太菜,场景题答不出来,但是面试官给出他的理解
1.大文件上传的思路 分片上传
2.上传数据到oss,整个业务流程该是怎么样的
面试官回答:后端处理过程应该是上传数据到oss,然后保存对应的连接或者其他信息到数据库,接下来发一条消息到消息队列告知其他节点这件事情
3.如果上传数据到oss失败了怎么办
我的回答:失败重试一两次,再失败直接返回
4.如果存入数据库失败怎么办
我的回答:直接失败返回,成功存入到oss的数据需要删除
5.那我不想删除oss的数据怎么办
我的回答:可以设置一个标志位,说明该数据无效
6.消息积压怎么办
我的回答:持久化+增加消费者
7.那如果硬盘空间不够怎么办
我的回答:不会回答,我想说增加硬盘哈哈哈哈,面试官说因为已经存入数据库了,可以在数据库中说明该连接是否被消费,被积压的消息可以适当舍弃
8.怎么知道消费者有能力消费呢
我的回答:不会回答
面试官说,可以在消费者那里开放个接口,像是探针那样探测那个接口,如果返回ok,那么就是有能力消费,因为消费者自身是知道自己的消费能力的
面试官真好,给出解决方案,学到了,虽然凉透了