在我们平台发起一笔三方服务的订单,成功后三方接口返回订单号,然后通过三方提供的订单状态查询接口b,查询订单状态。
三方订单有大约6中不同状态,每个状态变化时间不确定,有可能1秒,有可能30分钟
获取三方订单的所有状态和对应时间,并存储数据库
有什么好的方案,目前只想到用定时器或者定时任务每秒查一次,存储数据库,但是每秒存储数据库压力有点大,再一个就是动态创建定时器后,链接就断开了,会不会造成性能或内存问题?
请问大佬们有什么好的方案,谢谢
确实第三方没有通知我们,只有三方的下单和查询接口,第三方明确说可以一直请求
为了避免频繁查库,其实可以把未更新的订单抛入到队列,消费者一直请求第三方,既然第三方明确了无所谓,那就用这种方式,非常暴力
目前使用动态添加Timer方式,每来一个订单起一个Timer,每秒去查下状态,更新数据库,这样我们这边存储压力比较大,该如何改造
储存有什么压力?你指update?另外一个订单一个timer,如果第三方服务器炸了,你们timer会有累积
对,每个订单1秒update一次压力也不小
不管用什么,你的订单都要update,除非他们返回订单的时候就告知了状态,这样你insert的时候直接插入对应的状态就好了
确实第三方没有通知我们,只有三方的下单和查询接口,第三方明确说可以一直请求
为了避免频繁查库,其实可以把未更新的订单抛入到队列,消费者一直请求第三方,既然第三方明确了无所谓,那就用这种方式,非常暴力
目前使用动态添加Timer方式,每来一个订单起一个Timer,每秒去查下状态,更新数据库,这样我们这边存储压力比较大,该如何改造
储存有什么压力?你指update?另外一个订单一个timer,如果第三方服务器炸了,你们timer会有累积
对,每个订单1秒update一次压力也不小
不管用什么,你的订单都要update,除非他们返回订单的时候就告知了状态,这样你insert的时候直接插入对应的状态就好了