谁与我煮老酒- Yejun.Cn
云烟计算-你是云儿我是烟
-
一次业务功能关联影响带来的线上故障
发表于 2010年02月1日 没有评论上周发布了一个产品信息草稿箱的功能。像WORDPRESS和GMAIL一样,编辑状态下,定时可以保存内容,以免内容由于会话过期或窗口误关而丢失。发布后马上来了几个故障,分析后原因有以下几个:
- 保存的草稿产品的ID与正式产品ID主键冲突;正常逻辑下是不会有这样的问题,DRAFT产品记录和正式产品不在一个表。但是由于产品发布者的身份存在特殊类型,这类用户的产品发布产品就是进入等待审核的INFORMAL产品表。这个INFORMAL产品表与DRAFT产品表共用一个表,共用主键,从而导致了主键冲突;这个问题的根本原因 在于上线前,产品表受哪些类型用户影响的分析不够充份; 随着系统的发展,很多业务逻辑不再是单纯的,业务逻辑关联性越来越复杂。一个动作,受到的约束条件越来越多,如果设计时考虑不仔细,就可能带来各种问题。这也要求我们在系统设计上向松散耦合的方展努力。松散耦合的系统可以减少系统后期扩展和维护的大量工作成本;这个问题说明,系统设计要充分考虑当前产品的各类约束和影响;
- DRAFT产品编辑的时候影响到了以前某种已经停用的图片编辑功能;由于这个功能已经在两年前停用,但两年前用过这个功能的用户还是可以正常使用;这个问题说明,系统影响不只是考虑当前产品的功能,还需要考虑历史产品的特性FEATURE;



最近评论