返回

第414章 白板!

首页
关灯
护眼
字:
上一页 进书架 下一页 回目录
    第414章 白板! (第2/3页)

边写了四个字:"异步回调"。

    然后他在下面的方框里画了一条虚线,把它分成了左右两半。

    左边写:"规则引擎"。

    右边写:"本地账本"。

    "本地账本"三个字下面,他画了一个小箭头,指向上面的"央行账本",箭头旁边写了两个字:"最终一致"。

    画完了,放下笔。

    白板上只有这些东西。

    两个方框,一条实线,一条虚线,三个箭头,不到二十个字。

    跟左半边那密密麻麻的架构图比起来,像是两个世界的产物。

    …………

    实验室里安静了大概五秒。

    老周站在他后面,盯着白板右半边看。

    他的呼吸声变了,从刚才疲惫的均匀变成了不均匀的,像是在憋气。

    "本地账本……"他低声说。

    林彻没说话。

    "不用镜像同步,"老周的声音开始快了,"不是维护一份央行账本的副本,是在逻辑层本地建一个独立的账本。

    本地账本只记录可编程逻辑相关的状态,不记录完整的余额信息。

    规则引擎执行的时候只查本地账本,不查央行账本。

    执行完了再通过异步回调把结果告诉央行,央行账本做最终确认。"

    他停了一下。

    "310毫秒的镜像同步没了。"

    方远从椅子上站起来了。

    "但是一致性呢?"方远说,"本地账本和央行账本之间如果不同步,双花问题怎么解决?"

    老周没有看方远,他还在看白板。

    "不需要实时一致,"老周说,语速越来越快,"最终一致就够了,本地账本记录的是'这笔钱正在被一个规则占用',不是'这笔钱已经被扣了',占用状态锁定这笔钱,其他交易看到占用状态就排队,规则执行完了,回调通知央行,央行做最终扣款,如果回调失败了,占用状态自动释放,钱回到可用状态。"

    "最终一致……"方远在脑子里跑了一遍逻辑。

    "双花问题被占用锁解决了,"老周说,"不需要镜像同步,不需要央行实时确认,本地账本的占用锁就是防双花的机制,310毫秒没了,195毫秒的回调通信变成了后置环节,不在主链路上,不影响用户体感延迟。"

    他转过身看着林彻。

    "18加22加65,105毫秒。"

    105毫秒。

    远低于500毫秒的要求。

    甚至比demO里的37毫秒只高了不到70毫秒,

    (本章未完,请点击下一页继续阅读)
上一页 回目录 下一页