当前位置: 首页 > news >正文

杭州网站建设慕枫海外网站seo优化

杭州网站建设慕枫,海外网站seo优化,seo实战密码电子书,服务器服务器租用1.1 概述 所谓幂等: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 基于RESTful API的角度对部分常见类型请求的幂等性特点进行分析 举个例子: 假如你有个某多多 有个服务 服务提供一个接口,结果这个服务部署在…

在这里插入图片描述

1.1 概述

所谓幂等: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。
基于RESTful API的角度对部分常见类型请求的幂等性特点进行分析

举个例子:

假如你有个某多多 有个服务 服务提供一个接口,结果这个服务部署在了5台机器上,接着有个接口就是砍一刀的接口。

在这里插入图片描述

然后用户在前端上操作的时候,不知道为啥,总之就是一个砍一个订单 不小心发起了两次砍一刀请求,然后这俩请求分散在了这个服务部署的不同的机器上,结果造成一个用户被砍了扣两次。

所谓幂等性,就是说一个接口,多次发起同一个请求,你这个接口得保证结果是准确的,比如不能多扣款,不能多插入一条数据,不能将统计值多加了1。。

在这里插入图片描述

1.2 需要幂等的场景

1.2.1 网络波动

因网络波动,可能会引起重复请求

1.2.2 MQ消息重复

生产者已把消息发送给MQ,在MQ给生产者返回ack的时候网络中断,故生产者未收到确定消息,生产者认为消息未发送成功。但实际情况是,MQ已成功接收到了消息,在网络重连后,生产者会重新发送刚才的消息,造成MQ接收了重复的消息。

1.2.3 用户重复点击

用户在使用产品时,可能会误操作而触发多笔交易,或因为长时间没有响应,而有意触发多笔交易。

1.2.4 应用使用失败或超时重试机制;
为了考虑系统业务稳定性,开发人员一般设计系统时,会考虑失败了如何进行下一步操作或等待一定时间继续前端的动作的。

1.3 后端解决方案

数据库唯一索引

使用数据库提供的唯一索引来保证数据重复插入,避免脏数据产生
解决场景:新增

token+redis
在这里插入图片描述

● 第一次请求
○ 在后端生成一个唯一的token(比如:key:userid,value:UUID)
○ 将token存储到redis中
○ 将token返回前端

● 第二次请求
○ 在真正处理业务的时候需要携带过来之前的token
○ 到redis中查询token是否存在
○ 如果存在,则正常处理业务,同时删除redis中的token
○ 如果不存在,则操作失败
解决场景:新增、删除、修改

分布式锁

在分布式锁使用的时候,要注意粒度
在操作数据时,先添加一个分布式锁,当操作完成后再释放掉这把锁,同时在操作过程中,如果有人来抢锁,应当抛出异常,即

if (!lock) {log.info("操作作者信息获取锁失败,operator:{}",request.getOperator());throw new BaseBizException("新增/修改失败");
}

操作完成后,释放掉锁,因为幂等问题,通常是一个请求快速过来两次或者多次,所以在释放锁之前让后来的同一个用户的请求,直接失败即可,保证当前方法在短时间之内只能被执行一次,切记控制锁的粒度。

 public SaveOrUpdateUserDTO saveOrUpdateUser(SaveOrUpdateUserRequest request) {// 加入用户,要先取得一把分布式锁,针对的是操作人// 同一个操作人,同时间只能新增用户,避免说重复请求短时间内发生,数据重复灌入// 加分布式锁String userUpdateLockKey = RedisKeyConstants.USER_UPDATE_LOCK_PREFIX + request.getOperator();boolean lock = redisLock.lock(userUpdateLockKey);if (!lock) {log.info("操作作者信息获取锁失败,operator:{}", request.getOperator());throw new BaseBizException("新增/修改失败");}//忽略代码} finally {redisLock.unlock(userUpdateLockKey);}}
http://www.hrbkazy.com/news/54234.html

相关文章:

  • 八亿建站黄山搜索引擎优化
  • 福田大型商城网站建设军事新闻最新
  • 云鼎大数据888元建站泸州网站优化推广
  • 汽车销售在哪些网站做推广网络推广工具和方法
  • 企业网站数据库表设计seo综合查询站长工具怎么用
  • 哪种语言做网站最合适贴吧推广400一个月
  • 做淘宝客网站需要什么要求营销推广策划方案
  • b2b什么意思win7优化设置
  • 网页制作制作网站互联网营销师报考条件
  • wordpress 会员 按月如何优化网站
  • ui设计和网站建设人员李伟宁线在科技成都网站推广公司
  • it企业网站模板下载百度官网客服
  • 网站商城建设公司策划推广
  • 浙江省长兴县建设局网站百度在线客服问答
  • 虹口免费网站制作seo站外推广
  • 做阿里巴巴网站运营凡科建站官网登录
  • 厦门市建设局新网站域名信息查询网站
  • 实体服务器做网站产品质量推广营销语
  • 门户网站定制服务有效果的网站排名
  • 做网站功能花关键词排名系统
  • 公司 网站建设 简介大连seo外包平台
  • wordpress修改教程常州seo关键词排名
  • 男女插孔做暖暖的试看网站大全免费域名空间申请网址
  • 网页制作与网站建设广州百度登录页
  • 一定得做网站认证品牌网站建设公司
  • 注册网站查询系统百度搜索引擎关键词优化
  • 做高端品牌生产商的网站辽宁和生活app下载安装
  • 怎么做百度推广网站网络销售平台排名
  • 电商网站推广怎么做网络服务提供者不是网络运营者
  • 湖南省郴州市疫情seo教程培训