狂风中文网

第412章 请勿打扰(第2页)

天才一秒记住【狂风中文网】地址:https://www.kfzw.net

他在七楼办公室里看邮件,窗外的杭州已经全黑了,远处的灯光像一片安静的星海。

他打了个电话给老周。

老周接的时候背景噪音很大,有人在说话,键盘在敲,像是整个实验室都在运转。

“邮件我看了,什么矛盾?“

老周的声音有点哑,应该是说了一天话的缘故。

“央行的清算系统是同步的,强一致性,每一笔交易必须在帐本上实时確认了才算完成,我们的可编程逻辑层是异步的,规则执行完了通过回调通知清算系统,问题出在这两个系统对接的地方。

“具体呢?“

“假设一笔100块的定向消费券支付,我们的逻辑层先执行规则:检查商户是否在指定名单里,检查有效期,检查品类限制,规则执行完了,確认可以支付,通过回调通知央行的清算系统扣款,但在我们的逻辑层確认和清算系统实际扣款之间,有一个时间差,这个时间差里如果消费者的帐户发生了其他变动,比如同时发起了另一笔支付,就会出现一致性问题。

“两笔支付爭同一笔钱。

“对,双花问题,在同步系统里不存在这个问题,因为每一笔交易都是锁定了再確认的,一笔没完另一笔就排队,在异步系统里,锁定和確认之间有间隔,间隔里什么都可能发生,这个间隔越短问题越小,但完全消除不了,只要是异步的,这个间隔就一定存在。

“这个问题在设计阶段没有预见到?“

“预见到了。

“老周的声音比平时低,他说话的时候背景里有人在討论什么,声音模糊地传过来。

“我在架构设计阶段就知道会遇到这个问题,但当时的判断是可以通过技术手段把间隔压缩到足够小,小到在实际场景中不会被触发,理论上是对的,实际跑出来发现,压缩间隔的代价是延迟上升,间隔越小,延迟越高,两头不能兼得。

林彻没说话。

“方远这三天一直在想解决方案,“老周说,“他试了两种思路,第一种是在逻辑层加一个预锁定机制,规则执行前先向清算系统申请锁定这笔钱,但这样等於把异步变回了半同步,失去了异步架构的优势,第二种是在逻辑层本地维护一份余额镜像,先在镜像上扣款,再通过回调同步到清算系统,但镜像和真实帐本之间也会有延迟差,本质上是把问题往后推了一步。

“两种都不行?“

“第一种否了,第二种跑了一遍,延迟太高,不能用。

“延迟多少?“

“第一版跑出来八百多毫秒,不稳定,有时候更高。

800毫秒。

央行的要求是500毫秒以內。

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

飘渺星程帝王独宠:皇后娘娘沦陷了文学世界探险记魔法与万象卡牌系统诡术世界调查员末世龙帝:从签到开始进化玄门小锦鲤只热衷种田恋爱要在距离锁定后领到分配的顶流老公后热搜爆了洪荒模拟,我为九彩元鹿明明我才是训练家都市:我全家都是主角京城第一神捕,你管这叫狗腿子?星际第一女猎人第八冠位我老婆是传奇天后惊!揍了秦爷后他每晚来馋我网游之帝王归来七零新婚夜,包办婚姻也很甜!酒厂会计又给苏格兰拨巨款啦为太子启蒙后我逃了木叶:开局融合富江模板系统:我在诸天万界做大侠拳皇里的DNF分解大师数风流人物