Java-如何实现高效,可靠的订单处理方法
我要实现一个支付系统,订单生产后根据订单状态回调通知第三方应用。
当前思路: 通过单独项目扫描订单表状态,根据状态开多个线程进行回调通知。
问题:订单量比较大,以后订单数量猛涨后,感觉扫描严重耗资源。 想通过支付完成后发送消息给回调项目处理和扫描的方式结合去处理。 但不确定使用什么技术可以可靠地保证不丢单。我自己调研了下,好像消息队列可以应用此场景,没什么经验,想和交流下,请各位给些建议。多谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
消息队列或者是异步都可以,可以把一些包含简短的订单信息,比如order_id,status,create_time,price等相关信息存到nosql数据库里,比如memcache,redis,mongodb,然后用线程来遍历这些数据,读出来之后,调用第三方应用的接口,发送通知!推荐使用mongodb,因为这个nosql是支持事务的,可以保证有些订单的通知发送成功或失败的惟一性。
如果想使用现成的,apache开源项目下的ActiveMQ这个消息队列也不错,不过我没使用过。。
要做好日志记录,万一发生通知没有发送成功或者是其它异常情况,方便排查!!