没有合适的资源?快使用搜索试试~ 我知道了~
3.2)幂等性以及消息的幂等性 1.2)若接口没有保障幂等性,那么就出现问题 2.1)消息重复发送的原因 2.2)消息重复发送的导致后果. 2.3)mq服务端是
资源详情
资源评论
资源推荐
3.2)幂等性以及消息的幂等性
一:什么是接口的幂等性?
接口的幂等性:简而言之,就是对接口发起的一次调用和多次调用,锁生产的结果都是
一致的。
某些接口具有天然的幂等性: 比如长查询接口,不管是查询一次还是多次,返回的结果都
是一致的
1.2)若接口没有保障幂等性,那么就出现问题
案例一:比如订单提交的过程中,用户点了一次提交,但是由于网络等原因,导致后端处理延时,客户就连
续点击了多次,在没有幂等性的条件下,那么就会造成订单的重复提交。
解决方案:在保存订单的时候,根据生成的系统全局唯一ID(这里订单号+业务类型),并且把该唯一ID 调用
redis 的setnx命令保存起来,在第一次保存的时候,由于redis中没有该key,那么就会
把全局唯一ID 进行设置上,此时订单就会保存成功,。这个时候若出现前端重复点击按钮, 由于第一步已经
setnx上了 就会阻止后面的保存。
二:MQ 是如何解决幂等性的
发送消息的流程
第一步:消息生产者向Mq服务端发送消息
第二步:mq 服务端把消息进行落地
第三步:消息服务端向消息生产者发送ack
第四步;消息消费者消费消息
第五步:消费者发送ack
黄浦江畔的夏先生
- 粉丝: 11
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0