跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 提问后台简单调用第三方 api 轮询实现方式
未分類
25 10 月 2020

提问后台简单调用第三方 api 轮询实现方式

提问后台简单调用第三方 api 轮询实现方式

資深大佬 : rqxiao 1

交易请求发起后,若顾客需要输入密码,则此时系统会返回交易处理中的应答。需要商 户主动调用查询接口,获取交易状态。根据交易场景的不同,查询的方式有不同选择。建议 线下场景使用轮询的方式,例如 5s 一次,查询 50s 。

这单返回成功了就不需要再查了。目前想法 springboot 里写一个 @Scheduled 定时任务,第一次如果不是成功就放在一个 map 里( key 是订单 id ),查到成功就删除 map 里面的这个 key ?

有可能后期同时下单的数量会比较多

大佬有話說 (7)

  • 資深大佬 : wsyw126

    如果不成功放在 map,如果宕机了,这些不成功的订单 id 就丢失了。

  • 資深大佬 : coderxy

    可以放 rabbitmq 里,做个延时队列。 或者放到 redis 里, 你放内存里服务挂了就没了。

  • 資深大佬 : dzdh

    消息队列 release

  • 資深大佬 : Jrue0011

    不引入新的中间件的话,一般应该是数据库有个日志表,然后起个定时任务扫表?

  • 資深大佬 : fallinlovewith

    @Jrue0011 Quartz?

  • 資深大佬 : kanepan19

    简单实现: 下单后 用 delayqueue 或者 ScheduledExecutorService
    如果重启的话, 从数据库读取未处理的, 再丢入定时任务.

    引入其他组件: 2 的 rabbitmq 延时队列或者 redis

  • 資深大佬 : w292614191

    你应该有个独立的服务来不断的查询交易表,完成的就更新。其他业务只要查询就可以了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具