V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ArthurBL
V2EX  ›  问与答

请教一个项目的解决方案

  •  
  •   ArthurBL · 2017-01-16 22:31:18 +08:00 · 1549 次点击
    这是一个创建于 2897 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提

    本人目前在做一个银企项目,项目需求,查询银行流水,查询付款结果,付款...这些查询请求都必须与银行的前置机交互。问题来了,银行的查询调用频率最小间隔 2s ,否则内部默认等待。一次项目上线后,财务正在使用该项目付款,但是我这边正在测试,一下子发过去过多请求给银行的前置机,导致财务付款付款失败.实际上是因为,前置机在正在处理这些查询请求,等到处理这个付款请求时,连接超时断开。这样的后果导致,该笔付款显示支付失败,但是网银那边却有这笔记录。 目前由于加入的银行卡数过多,导致查询任务过多,而且,一张卡的流水每天可能较多,导致银行的查询时间也会相应过久。

    目前解决方案

    由于发生那一次付款失败,但是却已支付的情况。目前采用将查询任务分解,分解成一个个任务,存入 redis 中,然后有个方法定时轮询去取任务。最后暂时解决这个问题,但是目前这个方案存在缺陷。现在所有任务都放在同一个队列,一个一个任务执行。但是如果接入多家银行,不同银行的任务应该分开执行?目前该项目运行在两台机器上,如何保证两台机器运行时可靠?

    有没有类似的解决方案可以参考?或者提供个想法一起讨论下

    感谢!!!

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5630 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:37 · PVG 11:37 · LAX 19:37 · JFK 22:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.