asd512934216 2017-05-06 03:44 采纳率: 0%
浏览 492

请教下一个多线程问题,和业务流程处理问题

目前需要对账单数1万以下的 账单,进行支付(目前业务账单在5000以内,支付时间尽量在1个小时以内, 1万笔,控制在2小时以内 )

问题1.服务器 CPU双核 内存4G 线程数 控制 在多少合适?
目前是3线程数 1分钟 大概处理 100笔账单
本地测试的 16线程数 1分钟 大概 处理 500笔账单

支付流程分2步 ,
①发送支付请求 (结果状态:本地异常、支付系统异常、请求超时、支付失败、支付处理中(银行系统处理中) )
②获取支付结果 (支付处理中的账单 再次请求获取 支付结果 :本地异常 、支付系统异常、请求超时、支付失败、支付成功、
支付处理中)
因银行系统处理,线程需先sleep(3000) ,再发送查询结果
问题来了:

问题2. 当 支付请求 或 支付结果 不在 (失败 和 处理中时 和(成功)时)怎么处理该笔 账单
目前处理方法是再次调用一次 支付请求 或 支付结果,
若还是异常结果(本地、支付系统、超时),则向error集合添加。
若还是支付处理中,则向paying集合添加。 (最后,手动单独处理。大概400个左右才出现一个处理中 )
在最终支付结果时提示

问题3. 为了避免未知异常,导致支付流程中断。(个人担心)
是每支付一个账单,立马更新 和存储 数据库合适
还是 用 集合统一存储 Future ,最后遍历 结果 ,批量更新数据库合适

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 MATLAB动图问题
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题