周一入住的忆泊艺术酒店,用的是艺龙的微信小程序订房,先是微信登录,后来绑定的手机号码。
到了酒店办理入住。前台的服务生说麻烦在艺龙上做个点评,鉴于他们良好的服务,我很愉快的答应了。可是在小程序里找了半天,没有评价酒店的功能。后来我答应前台,说稍后下载APP,再给点评。
下载了APP后,用手机号码短信方式登录,发现里面没有订单信息。首先想到的是不是可能没有注册的原因。于是,用手机号码注册后,重新登录,账号里的订单还是空的。会不会是没有绑定微信的原因?找到微信绑定入口,在APP里绑定了微信。折腾了一通后登录,账号还是全新。
同一个服务,两种不同的应用(小程序和APP),用的尽然是不同的账号体系!为了完成对前台点评的承诺,打了艺龙的客服电话,解释了半天后,对方说帮我把账号处理下,让我十分钟后再登录看看。
十分钟后,APP里有了我用小程序下的订单。很好奇,客服那边是做了什么操作将订单同步起来的?
类似的情况,在许多年前的Amazon.com遇到过。我的同一个账号,分别用两个密码登录,显示不同的账号,一个绑定了Kindle,一个有用到Amazon云服务。曾经与Amazon客服做了沟通,没给解决。好在都能登录,不影响使用。
这里出现了同一个账号不同密码登录的严重逻辑问题,在用户数量较少,系统规模较小的情况下不可能出现。但是到了海量,需要面对不同区域的用户时候,就可能顾此失彼。
艺龙的问题,应该是出在不同开发团队,采用不同的数据源,不同数据源之间同步发生问题导致。Amazon的问题,应该是账号数据分布式存储,逻辑错误带来的问题。