1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 你提交而未付钱的订单去哪里了?

你提交而未付钱的订单去哪里了?

时间:2023-10-25 21:12:27

相关推荐

你提交而未付钱的订单去哪里了?

随着互联网的兴起,网络购物已然成为我们生活中不可或缺的组成元素,其之便利不言而喻。在网络购物过程中,当我们选中自己喜好的商品时,我们只需要下单付钱即可。由于下单和付钱属于前后相依的两个步骤,作为购物者,我们当然有权利下单之后不付钱,那么,你知道你提交而未付钱的订单去哪里了吗?作为消费者,可能我们不会太关注这个流程,因为我们没有被扣款,我们仅仅损失了一些时间成本;而作为技术平台,我们就不得不深入地思考这样的问题。对于to C的应用而言,我们应该追求能抗大流量,并且下单付钱流程足够快,出于这两个因素考虑,我们在平台搭建时,由于消息队列具有解耦、异步和流量削峰的优点,因此我们会选择消息队列来迎合这些需求。 常用的消息队列有RabbitMQ、RocketMQ、Kafka和ActiveMQ等,在实际项目使用中,由于RabbitMQ具有友好的管理页面,可能会成为技术人的首选。使用RabbitMQ如何处理提交而未付钱的订单呢?

首先,我们需要了解RabbitMQ消息路由的原理。生产者将消息发布到队列的交换机上,交换机根据消息的路由键找到使用该键与交换机绑定的队列,然后将消息存储到该队列中;消费者即可从该队列中取出消息消费即可。在RabbitMQ中有个很有意思的抽象——死信,一个消息要成为死信必须满足下面的条件

消息已过期消息被拒绝且不允许重新排队队列已满根据上面过期消息会成为死信的特点,我们即可设计一个死信队列,设置该队列的消息过期时间,同时为这个死信队列设计一个转移队列,当死信队列里面的消息过期,会自动转移到转移队列,消费者及可从转移队列中获取消息消费。RabbitMQ中怎么设置一个队列为死信队列呢?在声明队列时做如下配置

设置x-dead-letter-exchange参数设置x-dead-letter-exchange参数有了死信队列,怎么让死信队列里面的消息成为过期消息呢?设置方法也很简单,只需要设置死信队列的x-message-ttl参数即可。

基于上述的技术设计方法,当用户下单时,收单系统将订单信息发送至死信队列中,此时用户下单成功;当经过指定的时间段之后,用户未正常付款,则订单信息会被自动转移到转移队列中;转账系统获取转移队列中的订单信息,不做转账处理,取消订单。了解了网络购物的技术实现之后,你知道自己提交而未付钱的订单去哪里了吗?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。