那些年一起踩过的坑:27 没那么简单

目录

上一章:主动求变


随着项目的不断深入,刘云鹏渐渐发现,他似乎给自己找了个大活。核心系统要考虑的方方面面、所牵涉到的各种问题、以及这些问题的琐碎程度,都大大超出了他的预料。

首先会员中心作为核心系统,上层几个业务系统的流量都会像漏斗下水一样集中到它这里。虽然像市场活动这样的极端流量会有活动中心挡着,但是几个系统汇集起来的日常流量依然不容小觑。而且,如果是活动期间出现卡顿或者延时,用户在一定程度上还能接受,因为大家对这种特殊场景的心理预期本来就不一样。而在平时,核心系统哪怕只是抖上一抖,都有可能在上层业务引起一场地震。

所以,系统的稳定性和可靠性是首要条件。为了满足要求,刘云鹏和吴正超他们专门以此为课题,研究了各种主流系统架构。而时下流行的数据库分区技术,正好可以分散性能消耗,从而保证系统的稳定和高效。尤其让刘云鹏心动的是,分区技术已经被广泛应用到了大型系统建设中,技术成熟度较高。而且其中不乏电商领域的成功案例,这很切合他们公司的定位以及系统运行场景,具有很大的参考意义。

但技术方案选定的同时,新的问题又源源不断地冒了出来。比如:跨区用户间的交易如何处理?跨区交易万一中断怎么办?不同分区之间的数据一致性如何保证……等等这一系列问题都是项目组未曾遇到过的。面对一项从未接触过的新技术,如何快速地学习吸收、融会贯通、以至于举一反三,是项目组无法回避的考验。

针对上面的这些问题,刘云鹏一次又一次地发起内部讨论和方案评审:跨区交易不可避免,那就干脆做个跨区事务中心,专门对此进行集中管理;交易有中断的风险,那就建立一个超时补偿机制,由系统自动监测和处理;不同分区间数据不一致,这是要老命的事情,必须每天进行对账,一旦不平立即报警,差错处理由人工介入……一系列措施下来,总算是把整套流程给兜圆了。

技术架构确定之后,与业务系统之间的范围边界又成了新的焦点。不同系统有各自不同的玩法,积分、红包、优惠券、奖励金、满减、几件折上折……等等等等花样百出。一开始刘云鹏打算让业务系统各自管理自己的游戏规则,结果让周权一句话给顶了回去——他要设计全渠道通用道具——得,这个包袱还是得老老实实背在身上。

为了应对这类需求,同时还要满足用户核心与业务解耦,刘云鹏只好在会员中心之外再单独搭建一个钱包系统,专门用来管理用户资产。不管你是通用券还是专用券、全场活动还是专场活动,通用积分还是专属积分,所有的道具统统由钱包系统进行管理。

除此之外,应周权的要求,刘云鹏还对钱包进行了扩展:公司与某金融机构达成战略合作,将来会设计“理财专用户”的概念,进而推出“消费理财”特色业务。而这“理财类专用资产”的管理,自然也是落到了钱包系统身上。

这还没完,上面所有场景还只是针对买家设计的,而业务部门已经开始规划引入合作商户共销共盈。尤其是一些公司经营范围之外的产品,诸如商旅、海购、汽修,以及各类专项定制服务,都是公司未来拓展跨界合作的方向。那么,如何支持“卖家”业务自然也提上了议事日程。对此,刘云鹏只好抓着周权一起,从头又设计了一套针对卖家的系统服务流程。

不知不觉之间,这个系统已经比刘云鹏最初的构想扩大了好几倍。“会员中心”这四个字,已经从某个单一系统,扩展成了一整套核心体系。

项目组费了好大心力,看似搞定了技术和业务两个大头。但令他们始料未及的是,一个更为棘手的问题正在前面等着他们。

数据迁移,一个能让任何一名IT从业者一听就头大,偏偏又无法回避的名词。如果只是单纯地把数据从一个系统搬到另一个系统,并不是什么难事。然而一旦这些数据涉及到多个系统,尤其像用户信息这种与各项业务之间存在强依赖关系的核心数据,迁移的难度和复杂度就会呈几何级数增长。

刘云鹏他们遇到的,则是这样一个让人脑壳疼的状况:官网用户是基于邮箱注册的,而app则是基于手机号注册,两者之间互不关联。而现实中必然存在大量用户既有官网账号又有app账号。今后要开展全渠道业务,就必须将二者进行合并,严格控制每个用户有且仅有一个账号。

另外,理论上只要邮箱不重复,每个人可以注册多个官网账号;app同理。在没有办法有效识别用户身份的当下,压根无法找出哪些账户是属于同一个人的,也无法估算出总量有多少。但可以肯定的是,这种情况绝对不会是个别现象,因为公司已经多次推出大力度的优惠活动,利用多个账号占便宜的“羊毛党”绝不在少数。

面对这样的现状,刘云鹏列了一个问题清单:

第一,根据什么条件来判断账户是否属于同一个人?

第二,同一用户所属的账户怎么合并?这个问题又包含两个小问题:其一,同一平台下的多个账户怎么合并?其二,不同平台间的账户怎么合并?

第三,合并账户对原来分属不同账户的资产会产生什么影响?

第四,账户迁移之后用什么参数作为用户身份识别条件?如何保证唯一性?如何避免同一用户注册多个账户?

第五,账户迁移会对用户产生多大程度的不良体验?如何减小其影响?

第六,如何兼容现有的登录模式?怎么实现让官网支持手机号登录、让app支持邮箱登录?怎么改?谁来改?工作量多大?人力资源是否充足?时间消耗是否可以接受?

……

一系列问题像蜘蛛网一样盘互交错,考虑任何一个点都会受到到各种其他因素的影响,任何一处小改动都有可能让全盘计划推倒重来。此时的刘云鹏一个头有两个大,连脑仁都随着脑壳子一起疼了起来。

眼看着项目就要进展不下去了,一个大胆的想法从他内心萌发出来。在当前基础上搞优化,这条路基本是走不通了。既然如此,干脆一不做二不休,彻底给他重建一套会员机制。


下一章:半路杀出个程咬金

你可能感兴趣的:(那些年一起踩过的坑:27 没那么简单)