背景电商中有这样的一个场景:下单成功之后送积分的操作,我们使用mq来实现下单成功之后,投递一条消息到mq,积分系统消费消息,给用户增加积分我们主要讨论一下,下单及投递消息到mq的操作,如何实现?每种方式优缺点?方式一step1:starttransactionstep2:生成订单step3:投递消息到mqstep4:committransaction这种方式是将发送消息放在了事务提交之前,可能存在
什么是幂等性?对于同一笔业务操作,不管调用多少次,得到的结果都是一样的。幂等性设计我们以对接支付宝充值为例,来分析支付回调接口如何设计?如果我们系统中对接过支付宝充值功能的,我们需要给支付宝提供一个回调接口,支付宝回调信息中会携带(out_trade_no【商户订单号】,trade_no【支付宝交易号】),trade_no在支付宝中是唯一的,out_trade_no在商户系统中是唯一的。回调接口实
对消息服务需要了解的朋友,可以移步:聊聊mq的使用场景聊聊业务系统中投递消息到mq的几种方式谈谈mq消息消费的几种方式本章讨论主题如何确保消息至少消费一次,确保消费者最大程度消费成功消费者消费消息有2中方式:1.push方式消息服务接收到消息之后,主动将消息推送给消费者消费2.pull方式消费者定时从消息服务中拉取消息进行消费下面我们将讨论2中方式中如何确保消息至少被消费一次。push模式消费的过
mq系列文章对mq了解不是很多的,可以看一下下面两篇文章:聊聊mq的使用场景聊聊业务系统中投递消息到mq的几种方式聊聊消息消费的几种方式如何确保消息至少消费一次如何保证消息消费的幂等性本章内容从消费者的角度出发,分析一下消息消费的两种方式:push方式pull方式push方式消息消费的过程:mq接收到消息mq主动将消息推送给消费者(消费者需提供一个消费接口)mq属于主动方,消费者属于一种被动消费,
mq的作用通过异步方式对系统解耦增加系统的并发处理能力通过异步方式对系统解耦以用户注册为例,一般情况下:分下一下,上面过程存在的一些问题:注册过程会调用4个服务(注册服务、邮件服务、短信服务、积分服务),服务之间依赖性太强,任何一个服务不可用,直接影响整个注册业务接口耗时太长,每个服务耗时100ms,注册流程耗时400ms对用户来说,用户信息入库是主要的业务流程,其他并不是响应用户过程中直接关注的
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号