事件回放:近期关于短信验证码出现的概率性事件,为处理db2序列返回概率大概在万份之一为null的解决方案。
方案一,为杜绝null的产生和数据库数据的完全性及用户体验的角度,允许设计万份之一为null的组合主健出现,但为必须要处理插入数据库后的过滤处理,确保数据的完整性。
方案二,为杜绝概率性nul出现,db2序列返回值和规则时间组合主键直接拦截,并不做接下来的操作。
方案一由本人提出并设计校验,方案二由第三方架构师提供。经过一场讨论,在处理概率性事件上,主要看产品运用场景而采用不同的方案。第一个方案主要是为了用户体验(无论是否发生概率性事件null都必须成功发送短信)而牺牲极少的io访问处理性能。
第二个方案主要为性能出发,直接牺牲用户体验而告知用户你必须重新发送短信验证码。
因此做位一个设计师或架构师来讲,主要看自己产品的运用场景不同而采用不同的解决方案。
关于概率性事件的产品性能和客户体验讨论,布布扣,bubuko.com
原文地址:http://blog.csdn.net/luozhonghua2014/article/details/38100001