V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
clbigdata
V2EX  ›  Java

[设计问题] 关于电商结算系统的

  •  
  •   clbigdata · Aug 8, 2024 · 3547 views
    This topic created in 635 days ago, the information mentioned may be changed or developed.
    前几天面试,我把公司目前的电商结算流程说了下,因为目前我这接手的项目当中,在整个结算流程里边,扣减资产的过程中,例如减积分,优惠券核销等等流程,都是通过结算模板进行编排的,整个的技术底层是结合了流程引擎通过前后状态控制是否进行下一个节点的进行,或者会滚的,全部流程中只是对结算流程进行了存储,在后台的话其实就是一个大 json ,里边包含了当前带执行节点,以及出错要回滚的方法等。 面试官说我这个不行,不知道有没有啥更好的设计,他说这个计算流程要生成一个结算 id 落库存储。
    chutianyao
        1
    chutianyao  
       Aug 8, 2024
    "结算 id 落库存储"是把整个 json 落库吗, 估计是为了异常情况补偿、业财对帐等场景使用吧, 实际业务意义不大.
    我们目前也是节点串行执行,哪一个节点失败,就从该节点开始进行回滚
    clbigdata
        2
    clbigdata  
    OP
       Aug 8, 2024
    @chutianyao 那个面试官说的意思是第一次结算失败了,把这个结算流程存一下,第二次又失败了,再存一下,我感觉这样不合理
    chutianyao
        3
    chutianyao  
       Aug 8, 2024
    @clbigdata 当然不合理
    失败就失败了,赶紧查问题解决,存下来有啥用. 他存下来难道想自动重试不成
    sentinelK
        4
    sentinelK  
       Aug 8, 2024
    “不知道有没有啥更好的设计”
    这要看你的需求而定,空谈没有意义。

    你非要掰扯商飞 C919 和洛克希德马丁 F22 哪个设计好,这不是抬杠么。
    你说 F22 载人少,他说 C919 挂载导弹少。
    onll42y
        5
    onll42y  
       Aug 8, 2024
    “生成结算 id 落库”是为了做幂等吧?防止一个订单多次提交
    9pr7im4IjQ9u0806
        6
    9pr7im4IjQ9u0806  
       Aug 19, 2024
    如果只有“这个方案不行”这么一句话,这个面试官就是扯淡,丢他老母就行了,下一家
    tomatocici2333
        7
    tomatocici2333  
       Aug 28, 2024
    = =没有业务场景就说不行,面试官有点拉
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 10:14 · PVG 18:14 · LAX 03:14 · JFK 06:14
    ♥ Do have faith in what you're doing.