记一次方案设计的前瞻性

方案设计一定要有前瞻性,要从方方面面考虑,比如性能、扩展性等,这个是开发人员必备的一个素质,但是这次方案设计却是关于存储容量的考虑。

需求背景

商品的信息比如价格、优惠券字段是通根据淘宝的api来更新,这个更新是个定时任务,一小时更新一次,由于偶尔会有商品的信息不符合要求,为了更好的排查类似这样的问题,一个月前产品提了一个需求,对所有的抓取信息添加抓取日志,并且可以在商品列表页定位到这个日志。

设计的方案

我设计的方案是只记录变更的抓取日志,没有变更的抓取日志就是上一次抓取的日志信息,这样就可以只入库变更的记录,没有变更的就可以不入库。
比如下图:
这里写图片描述

8:00整抓取的信息为AAA,9:00、10:00、11:00抓取到的和8:00抓取的值一样,9:00、10:00、11:00就不入库,日志展示时按照8:00的内容展示。

但是,领导不同意,说我怎么知道中间的变更是否正确呢,万一变更,你没有记录怎么办,虽然我的理由是变更了没有记录就是代码的问题,根本不是这个设计的问题,不能通过记录所有的日志来保证代码没有问题,应该使用其他方式保证代码问题,A就是A,B就是B,不能混为一谈。
但是胳膊拗不过大腿,领导说怎么办,就怎么办吧,把所有的抓取信息都入库,不管有没有变更,然后上线。

一个月之后

一个月之后,DBA开始找麻烦了,你们这个表记录的啥,怎么才一个月就上百个G,你们当磁盘是白菜呀,赶紧解决。
怎么解决这个问题,找了几个资深开发来讨论,最终还是使用了我的方案,终于扬眉吐气了一把,当然还是很低调的,只是心里暗暗爽而已。

总结

设计方案要从各个方面,方案的可行性、扩展性、并发性、资源占用量等等,都考虑清楚了,才能选择一个合适的方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值