00:02
好,下面我们来看延迟消息。呃,这个延迟消息啊,我们先看什么是延迟消息。那当消息写入到博格以后。在指定的时长后。哎,才被。消费处理的消息称为延迟消息,也就是说我们之前的这些消息啊,都是我们发送到博以后,他马上。呃,就会。被consumer去处理。啊,这个是很快的对吧,即使你里边啊,咱们说出现了那种呃,堆积,它其实处理过程啊还是很快的,但是我们这样呢,就我相信发到博以后啊,我可以指定一个时间,你在这个时间以后再给我处理,这就延迟消息。而采用Q的延迟消息可以实现定时任务的功能,你注意它可以实现什么?
01:01
定时任务。这个功能。而无需使用定时器,其实啊,给大家这样说,呃,我们到后边给大家讲的,你就会是你就会发现啊,这个这个。不用我们写,实际上实际上是它里边已经给我们实现了。明白吧,实际上是他内部给我们实现的啊,博客内部实现的。那么具体这个使用延迟消息啊,它的应用典型的应用场景是什么?比如说电商交易,电商平台里边啊,超时未支付关闭订单的场景,这个好像。我记不很清了啊,我记得好像是不是京东。你是下了单以后。呃,你下了单以后,如果好像是半个小时吧,是不是半个小时不支付。你是不是这个订单就取消了。是不是我记得好像是啊呃,然后12306平台,呃,订票超时未支付取消订单的。
02:04
订票的场景,这个我可以确定是多长时间,是不是45分钟,你45分钟必须要。这个这个这个。呃,支付是吧,如果你不支付这个票给你取消了,就重新再扔回啊,扔回这个票池里边了。那我们简单给大家说它是怎么怎么,其实这个过程啊,我们说怎么实现,它是怎么做,我们怎么做就能实现,就能用我们这个。呃,延迟消息了啊,它是这样的,比如说我们这个电商平台啊,呃,就说这个京东刚才说那半小时是吧。实际上在电商平台里边,我们。订单创建的时候啊,他就会发一条。我们的延迟消息也是给大家简单写一下啊,简单写一下,比如说啊,嗯,在。电商平台平台中。
03:01
订单。创建时会发送一条。延迟消息。来,我给你发一条,然后这条消息啊,呃,这条消息,呃。将会在你指定不是30分钟嘛,啊,30分钟后。投递。投递给谁,我们的后台。后台业务。后台业务系统,这个后台业务系统实际上是谁,就是我们的啊,就是我们真正相信的consumer。然后我们后台。业务系统。呃,收到。该消息。消息后。判断。对应的订单。
04:01
是否已经完成?完成之后对吧,啊,如果呃。完成。如果你没有完成,则。取消。订单。呃,将。商品。商品。呃,再次,呃。放回到。呃,这个。诶。库存是吧,就是你库存重新再增加回去。哎。当然了。如果。完成。支付。那我什么也不用做是吧,忽略你忽略它就行,对不对啊,这我们说电商平台那12366呢,其实也一样,12366平台里边就你车票啊,你这个车票预定。
05:00
你车票预定成功以后。注意,是成功。车票一定成功,你这实际上也是什么下单成功。明白吧,这实际上是一个意思啊呃,在12306对比着,咱们再说一下,呃,平台平台中是吧,呃。呃,车票。预定。成功后呃,就会发送呃一条延迟消息,对吧,我们我们比照着这样来写的啊,发送一条延迟消息,然后呢。呃,这条消息啊,将会在多少,是不是45分钟后。45分钟后,这个。45分钟后。投递。投递给呃,我们的后台业务。
06:01
后台业务系统。也就consumer,然后我们的后台诶。后台业务系统收到该消息后会判断。这样的。订单是否完成支付一模一样。是吧,那我就考虑了。投递给他。然后判断,嗯,判断订单是否完成支付,如果未完成则取消,这这是订票是吧,取消啊预订。呃,将。车票。车票。呃,再次放回库存啊,库存也行也也行是吧,啊像是呃票池是吧。上市其实有库存了。然后完成之后略。对不对,现在是一个意思啊。啊,这是什么,这就是我们说这个延迟消息。
我来说两句